2014年3月31日月曜日

[Sublime Text]SublimeTextXdebugでcontext画面で変数の深い階層にnestされた値が見れない時

ここを参考にした。

Edit Projectで以下の値を挿入した。

"max_children": 128,
"max_depth": 3,
"max_data": 512,

[CakePHP]Access forbidden!が出た時

画面に以下の様に出て、
Access forbidden!

要求されたオブジェクトへのアクセス権がありません。 読み込みが許可されていないか、 サーバが読み込みに失敗したかでしょう。

サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。

Error 403

error_logに以下のように出てる時、

[Mon Mar 31 18:07:45.124983 2014] [authz_core:error] [pid 35957] [client 127.0.0.1:51200] AH01630: client denied by server configuration: /path/to/git/inqueue/home

対象アプリのhttpd.confのDirectoryタグ、virtulhostを利用している場合は、httpd-vhosts.confのVirtualHostタグ内のDirectoryタグに、以下を入れる。

Require all granted

[xdebug]php.iniの設定

PHP:  syntax error, unexpected $end, expecting TC_DOLLAR_CURLY or TC_QUOTED_STRING or '"' in /Applications/XAMPP/xamppfiles/etc/php.ini on line 1938

こんな感じのエラーが出た時、xdebugの設定を一番下ではなく、少し上にしてあげるとなぜか直りました。

[CakePHP]pcfg_openfile: unable to check htaccess file, ensure it is readable and that 'app/webroot/' is executable

[Mon Mar 31 13:57:42.425142 2014] [core:crit] [pid 11472] (13)Permission denied: [client ::1:55072] AH00529: /path/to/git/test01/app/webroot/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/path/to/git/test01/app/webroot/' is executable


error_logにこんなようなエラーが出たら、webrootをchmod 777したなおりました。

[XAMPP]xdebug 導入

ここの 「Installation From Source」 「Compiling」を見てインストールしました。
githubから持ってくるやりかたでやりました。

念のため、$PATHに/Applications/XAMPP/binを入れてからやりました。

それのおかげかわかりませんが、compile後、「/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/」というところにxdebug.soができていました。

しかも、php.iniでの指定は、フルパスではなく、以下のようでないとだめみたいです。
zend_extension= xdebug.so

phpinfo()の画面でxdebugのセクションが出来ていればインストール完了です。

[XAMPP]MAMPは無料版だとxdebug導入できなさそうなのでお引っ越し。

MAMPを使っていたんだけど、php.iniでxdebugの設定しても、どうもテンプレートのphp.iniが反映されるようで、使えなかった。
※使い方わかる方教えて下さい。

なのでXAMPP(1.8.3)をインストールしました。

無事に使えました。

2014年3月24日月曜日

[MAMP]MySQLから取得した日本語文字列がクエスチョンマークになる件

※MAMP_MAMP_PRO_3.0.2.pkgを使用

my.cnfを編集しますが、デフォルトではmy.cnfは存在しないので、テンプレートからコピーしてきます。

 cp -p /Applications/MAMP/Library/support-files/my-large.cnf /Applications/MAMP/conf/my.cnf

そして、my.cnfの[mysqld]の直下に以下の2行を追加します。

skip-character-set-client-handshake
character-set-server = utf8

MAMPを再起動します。

以上。