PHP5.3で古いソースを弄ってたら「Deprecated: Function split() is deprecated in ….」なエラーが大量に。。本来はexplode()なんかを使うべきでしょうけど、あまりに大量で無理w
php.iniの修正でお茶を濁したorz
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
PHP5.3で古いソースを弄ってたら「Deprecated: Function split() is deprecated in ….」なエラーが大量に。。本来はexplode()なんかを使うべきでしょうけど、あまりに大量で無理w
php.iniの修正でお茶を濁したorz
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
MacでPHPの開発環境を整える。Eclipse PDTがよさそう。
以下から「Eclipse for PHP Developers」をダウンロード。
http://www.eclipse.org/downloads/index.php
解凍するとeclipseフォルダができるので、アプリケーションフォルダに移動。
早速PHP Projectを作成しようとしたが、いきなり”build path contains duplicate entry”なんてエラーが出てProjectの作成ができない。新しいPDTをインストールしなきゃならないみたいorz
Apache,MySQLを使えるようにするため、MacにXAMPPを入れた。Mac専用のMAMPってのもあるようだが、XAMPPは以前Windowsで使っていたのでこちらにした。
インストールはインストーラ起動して終わり。起動は以下。
$ sudo su
# /Applications/XAMPP/xamppfiles/xampp start
「/Applications/XAMPP/XAMPP Control」を起動してもApache,MySQL,FTPの起動停止制御できる模様。
次にApacheの動作をチェック。
http://localhost/
XAMPPの管理画面が出てくればOK!
「http://localhost/~ユーザ名/」でアクセスできるよう調整。
/Applications/XAMPP/etc/extra/httpd-userdir.confの設定
UserDir Sites
<Directory "/Users/*/Sites">
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
デバッグにはZendDebuggerかXdebugが必要だが、Xdebugの方がよさそうなのでこっちを使ってみる。Xdebugはプロファイリング(profiling)機能、コードカバレッジ解析(code coverage analysis)などもできる。ZendDebuggerはZend Studioと併用しないと上記機能が使えないっぽい^^;
XAMPPにはXdebugが標準で付属している。
/Applications/XAMPP/xamppfiles/lib/php/php-5.3.0/extensions/no-debug-non-zts-20090626/xdebug.so
以下からファイルダウンロードした最新のものを使用しようとしたが、、、
http://aspn.activestate.com/ASPN/Downloads/Komodo/RemoteDebugging
エラーがでてだめだった。
Xdebug requires Zend Engine API version 220090115.
The Zend Engine API version 220090626 which is installed, is newer.
Contact Derick Rethans at http://xdebug.org for a later version of Xdebug.
php.iniは以下のように設定
/Applications/XAMPP/etc/php.ini
[xdebug]
zend_extension="/Applications/XAMPP/xamppfiles/lib/php/php-5.3.0/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
;xdebug.remote_autostart=1
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="/tmp"
問題なければ、phpinfo()にxdebugの項目が出現する。
http://blog.ne2ma2.com/archives/121
PHPのデバッグって今までprintf()でやってたwが、これは便利だわ^^