2013年6月19日水曜日

[mac] ターミナルからSublimeText2を起動

コマンドで該当プロジェクトのディレクトリ行って

[shell]
open .
[/shell]

してから、FinderからSubLime Text2にドラッグドロップしてたけど

[shell]
ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/bin/subl
[/shell]

してやると openの代わりに

[shell]
subl .
[/shell]

で直接開けますよと。

2013年6月14日金曜日

CakeEmail 添付ファイルで日本語ファイル名が文字化けする

Cake2系でCakeEmailを使ってメール送信処理をしてたのですが、
日本語のファイル名を添付すると文字化けしておりました。

プログラム内の文字コード:UTF8
メールの文字コード:ISO-2022-JP

の時に、mb_convert_encoding で、ファイル名について文字コード変換を行ってやる。

本文等はConfig/email.phpのcharsetで設定できるけど、添付ファイル名は駄目みたいですね。

[php]

$email = new CakeEmail('default');

$email->to( "xxxxxxxxxx@xxxxxxx.com" );

$title = mb_convert_encoding("あいうえおのお知らせ", 'ISO-2022-JP', 'UTF-8');

$email->attachments(array($title => array('file'=>ファイルパス)));
・・・
$email-send();

[/php]

って感じ

2013年6月13日木曜日

git リポジトリから特定のファイルorフォルダのキャッシュログを削除

 

git のリポジトリに大量のリソースファイルなどが入ってて、毎回cloneしてくる時に遅かったので
別プロジェクトに移動した。

とはいえ、コミットログに残り続けてるので、やっぱり重い。
そこで、キャッシュログから削除する方法

[shell]
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch resources/*' --prune-empty --tag-name-filter cat -- --all
[/shell]

上記は[ resouce ]フォルダ以下のコミットログを過去にさかのぼって消していく方法コマンド

 

 

2013年6月4日火曜日

php5.2 5.3共存させる

現状:PHP5.2
希望:PHP5.2 PHP5.3共存

■php 5.3インストール
[shell]
cd /usr/local/src
wget http://jp1.php.net/get/php-5.3.25.tar.gz/from/this/mirror
tar zxvf php-5.3.25.tar.gz
cd php-5.3.25
./configure --prefix=/usr/local/php53 --enable-mbstring --with-gd --with-mysql=/usr/local/mysql --with-mysqli --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-jpeg-dir --with-iconv

make
make install
[/shell]

■Apacheの設定

httpd.confに以下を追加
ScriptAlias /php53/ /usr/local/php53/bin/
<Directory "/usr/local/php53/bin">
AllowOverride None
Options +ExecCGI -MultiViews
Order allow,deny
Allow from all
</Directory>

使いたいDirectoryで以下を設定
<Directory "/xxxxx/xxxxxx/">
AllowOverride All
Order allow,deny
Allow from all
Options -Indexes FollowSymLinks ExecCGI

<IfModule mod_php5.c>
php_flag engine off
</IfModule>
AddHandler application/x-httpd-php53cgi .php
Action application/x-httpd-php53cgi /php53/php-cgi
</Directory>

■php.ini のtimezoneの設定
cd /usr/local/php53/bin/
cp /usr/local/src/php-5.3.25/php.ini-development php.ini
vi php.ini
date.timezone = Asia/Tokyo  <-これを設定しないとエラーを吐くよ

■Apache再起動

以上どす

2013年6月3日月曜日

CakePHP コーディング規約チェックをJenkinsで実行

ERRORが大量、Warningがぽつぽつと。

うーむ。

何が悪いかは、なんかオプションつけたら、指摘してくれるんかなー。

とりあえず、今日はここまで。

[mac] jenkinsインストール

jenkinsをインストールする。
brew install jenkins

自動起動させたい場合は、brew info jenkins で表示される通りに設定
mkdir -p ~/Library/LaunchAgents

ln -sfv /usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents

手動で起動する場合は

 
java -jar /usr/local/opt/jenkins/libexec/jenkins.war

以上

CakePHP コーディング規約チェックの為に、php codeSnifferをインストール

PEARが入っていればコマンド一つです。
pear install PHP_CodeSniffer

ただし、デフォルトでCakePHP用が入っていないので、別途インストール
pear channel-discover pear.cakephp.org
pear install cakephp/CakePHP_CodeSniffer

 

[mac] PEARインストール

PEARの公式ドキュメント通りにやったけど、うまく動かなかったので
以下の方法で、インストールしました。
sudo php /usr/lib/php/install-pear-nozlib.phar

あとは、php.ini のinclude_pathに以下のパスを設定して終わり。
include_path = ".:/usr/lib/php/pear"

[mac] git をhomebrew版に入れ替える

macでいつのまにか、入ってたgit.
これ、XCodeをインストールした時に入ったものなんですね。
これをいつも使ってたのですが、いささか、バージョンが古いとのご指摘が。

そこで、homebrewで入れ直してみることに。


といっても、XCodeで入れたやつは消さないほうがよいらしい。

まず 、brewでgit をインストール
brew install git

このままでは、XCodeで入ったgitを見ちゃうので、/etc/paths を書き換える
/usr/local/bin  <- 一番上に移動

以上。