Phpコマンドラインは、メインのphpインタープリターとは異なるphp.iniを使用しているようです。 Ubuntu 10.4を使用しています。私の問題は、メインのphp.iniに外部ライブラリの追加のパスが含まれていることですが、cliバージョンにはこれが存在しないため、パスインクルードエラーがあります。
ありがとう
PHPに問い合わせてください:
$ php -i |grep php\.ini
さらに良い:$ php --ini
これにより、ロードされたすべての余分な* .iniファイルも表示されます(通常、debianのconf.dディレクトリでぶらぶら)
構成ファイル(php.ini)パス:/ etc/php5/cli
読み込まれた設定ファイル:/etc/php5/cli/php.ini
/etc/php5/cli/conf.dにある追加の.iniファイルをスキャンします
解析された追加の.iniファイル:/etc/php5/cli/conf.d/apc.ini、
/etc/php5/cli/conf.d/curl.ini、
/etc/php5/cli/conf.d/Gd.ini、
/etc/php5/cli/conf.d/geoip.ini、
/etc/php5/cli/conf.d/imagick.ini、
/etc/php5/cli/conf.d/imap.ini、
/etc/php5/cli/conf.d/ldap.ini、
/etc/php5/cli/conf.d/memcache.ini、
/etc/php5/cli/conf.d/memcached.ini、
/etc/php5/cli/conf.d/ming.ini、
/etc/php5/cli/conf.d/mysql.ini、
/etc/php5/cli/conf.d/mysqli.ini、
/etc/php5/cli/conf.d/pdo.ini、
/etc/php5/cli/conf.d/pdo_mysql.ini、
/etc/php5/cli/conf.d/pdo_sqlite.ini、
/etc/php5/cli/conf.d/snmp.ini、
/etc/php5/cli/conf.d/sqlite.ini、
/etc/php5/cli/conf.d/sqlite3.ini、
/etc/php5/cli/conf.d/suhosin.ini、
/etc/php5/cli/conf.d/tidy.ini、
/etc/php5/cli/conf.d/xdebug.ini、
/etc/php5/cli/conf.d/xsl.ini
これはphp-cliについてのものであり、php-cgiにはこの格言はありません。
私の最後の仕事では、実行ごとにiniファイルを指定する習慣がありました...
C:\php\cli\php.exe -c C:\php\php.ini myscript.php
以下のコマンドを使用してphp.iniを見つけることができます。 Linuxで
find / -name php.ini
または
locate php.ini
Windowsで興味深いのは、両方のテスト(phpinfo()を使用したApacheとphp --iniを使用したcli)では、構成ファイルのパスはc:\ windowsです。詳細 こちら
/etc/php5/cli/php.ini