2010 年 5 月 24 日, 11:08 AM
忙しいのにPHPデバッグ環境構築したい場合はそうないかと思いますが、
現在、どこかのサーバーで動作しているPHPモジュール群をローカルで動作させたい場合の手順をメモします。
念のため、検証した環境は
・Windows Vista SP2
・Eclipse Platform 3.5.1.R35x_v20090910-9gEeG1_FthkNDSP2odXdThaOu9GFDPn83DGB7
です。
PDTと、XAMPPは既にインストールされている事が前提ですので、入っていない場合は以下記事から入れてやってください。
Installation of PDT on Eclipse3.5
Zend Debuggerインストール(xampp編)
記事の投稿日よりバージョンが上がっていたら、最新のバージョンをお勧めします。
既存のPHPモジュールをEclipseにインポート
現在動作しているPHPモジュールを、FTPやSubversionでもなんでも良いので、まずはローカルPCにコピーします。
今回は、svnからチェックアウトしましたので、subversiveが入っている前提ですが、FTPで持ってきた場合は、
PHPエクスプローラー右クリック→インポート→一般→ファイルシステムでまずはEclipseのプロジェクトと認識させます。
PHPプロジェクトへ変換
インポートしただけでは、単なるファイルセットなので、これらをPHPのプロジェクトに変換します。
プロジェクトを右クリックして、構成→Add PHP SupportでOKです。
デバッグサーバーの設定
サーバーにはXamppのApacheを使用します。ここのAliasに先ほどインポートしたプロジェクトのルートを記載します。
具体的には、(Xamppインストールディレクトリ)\apache\conf\httpd.confに以下を追加します。
Alias /testPHP "D:\Workspace\test\testPHP"
<Directory "D:\Workspace\test\testPHP">
Order allow,deny
Allow from all
</Direcotry>
とか。
デバッグサーバーの構成
プロジェクト右クリック→デバッグ→デバッグサーバーの構成で、新しくデバッグサーバーの構成を作成します。
上記では、
http://localhost/testPHP/
というURLになるので、それを踏まえて以下のようにして構成します。
ファイル:/testPHP/index.php
URL:自動生成(デフォルト)
これでXamppのコントロールパネルからApacheを起動しておいて、Eclipse環境から先ほど作成したデバッグ構成で起動してみます。
とりあえず動かすだけならこれでOKなはずです。
細かいことは置いといて、ZendDebuggerの設定だとステップ実行出来ないので、単純にXDebugで動かしてもいいかもしれません。
(これ昔からそうだったなぁ。)
2010 年 5 月 17 日, 8:02 PM
XAMPPと言って、ApacheやphpやMySQL等をセットにしてインストール出来る便利なパッケージがあるのですが、
現在の最新(1.7.3)は、以下のようなラインナップとなっています。
Apache 2.2.14 (IPv6 enabled) + OpenSSL 0.9.8l
MySQL 5.1.41 + PBXT engine
PHP 5.3.1
phpMyAdmin 3.2.4
Perl 5.10.1
FileZilla FTP Server 0.9.33
Mercury Mail Transport System 4.72
ただし、少なくともXoops Cube Legacy2.1.8は、PHP5.2.xじゃないとうまいこと動かない。
Xoops Users Group Japan – 大量の警告(?)文の解決策について
なので、XAMPPもPHP5.2系の奴を選べばよいが、XAMPPのページを見ても過去バージョンのPHPのバージョンがよく分からないのでメモ。
XAMPP1.7.1にPHP5.2.9が入っており、これが5.2系最終らしいです。
2010 年 2 月 3 日, 6:12 AM
Yahoo!オークションで複数条件並べ替え
で、YahooのWeb APIを使って自分でオークションの(とりあえずは)並べ替えをやってみようと思ったのだが、
どうしよう?index.phpとか作ってベタで書くかどうしようか悩んだのだが、
フレームワークを使うとformとかリストとかの記述が楽そうなので、なんかしらのPHPフレームワークを使ってみようと思った。
さらに、YahooではSymfonyを使って構築するのが(会社内で)流行りだそうなので、Symfonyを使うことにした。
マニュアルはPDFではあるが、日本語訳があったので、それを見てとりあえずはローカル機(Windows)で動かしてみることにした。
どうせなら最新版を、ということでSymfony1.4を導入することにした。
最初の方で、Symfonyをインストールするための設定チェックの記述があって、
http://sf-to.org/1.4/check.php
にブラウザでアクセスすると、check_configuration.phpが手に入るので、
これをローカルマシンでPHPが動く場所に置いてブラウザからアクセスすると、以下のような結果が出た。
********************************
* *
* symfony requirements check *
* *
********************************
php.ini used by PHP: D:\xampp\xampp\php\php.ini
** Mandatory requirements **
OK PHP version is at least 5.2.4 (5.3.1)
** Optional checks **
OK PDO is installed
OK PDO has some drivers installed: mysql, odbc, sqlite, sqlite2
OK PHP-XML module is installed
OK XSL module is installed
OK The token_get_all() function is available
OK The mb_strlen() function is available
OK The iconv() function is available
OK The utf8_decode() is available
[[WARNING]] A PHP accelerator is installed: FAILED
*** Install a PHP accelerator like APC (highly recommended) ***
[[WARNING]] php.ini has short_open_tag set to off: FAILED
*** Set it to off in php.ini ***
OK php.ini has magic_quotes_gpc set to off
OK php.ini has register_globals set to off
OK php.ini has session.auto_start set to off
OK PHP version is not 5.2.9
short_open_tagはいいとして、「PHP accelerator」とは一体なんだろう?
調べてみると、
eAccelerator で PHP 高速化
で説明されている通り、PHPの実行速度を体感的に速くするものらしい。全然知らなかった!
そう大した規模でもないので効果はどうなのかはわからないが、XAMPP for Windows(1.7.3)なら、php.iniの以下コメントを外すだけ。(XAMPPはDドライブ直下にある)
;extension=php_apc.dll
;zend_extension = "D:\xampp\xampp\php\ext\php_eaccelerator.dll"
CentOSでも、yumのリポジトリからeAcceleratorはあったようだ。(APCはないみたい)
[root@localhost httpd]# yum search eaccelerator
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: www.ftp.ne.jp
* updates: www.ftp.ne.jp
* centosplus: www.ftp.ne.jp
* addons: www.ftp.ne.jp
* extras: www.ftp.ne.jp
====================================== Matched: eaccelerator ======================================
php-eaccelerator.i386 : PHP accelerator, optimizer, encoder and dynamic content cacher
yumで入るならちょっといれてみようかな。