php.iniの罠(snow leopardの話)

自宅mac minisnow leopard)でXML_RSSを動かそうとしたら

$ php testpear.php

Warning: require_once(XML/RSS.php): failed to open stream: No such file or directory in /Users/sugarball/testpear.php on line 2

Fatal error: require_once(): Failed opening required 'XML/RSS.php' (include_path='.:') in /Users/sugarball/testpear.php on line 2

とかいうメッセージが出力されやがります。

うーむ。php.ini(/etc/php.ini)にもきちんとinclude_pathを /usr/lib/php設定してるのに。(なので/usr/lib/php/XML/RSS.phpは存在しています)

なぜだ。これではpearが動かない。

いろいろ調べているうちに、webでphpinfoを表示させた場合と、コマンドラインからのphpinfoの表示が異なっていることを発見した。ということは、Webからのアクセスと、コマンドラインでは異なるphp.iniを参照しているみたい。

ちなみに、自宅の環境(snow leopard)だと

を参照していました。


…これで3時間はハマってしまった…疲れた…


■追記
コマンドライン版とWeb版?で同じiniファイル使いたい場合はシンボリックリンク張った方が良さそう。