質問

PHPコマンドラインは、メインPHPインタープリターとは異なるPHP.iniを使用しているようです。 Ubuntu 10.4を使用しています。私の問題は、メインのphp.iniには外部ライブラリの追加パスが含まれていることですが、CLIバージョンにはこれが存在しないため、パスインクルージョンエラーがあることです。

ありがとう

役に立ちましたか?

解決

PHPに尋ねるだけです:

$ php -i |grep php\.ini

他のヒント

さらに良い:$ php --ini

また、これにより、すべての追加 *.iniファイルがロードされています(通常、Debianでconf.d dirでぶら下がっています):

構成ファイル(php.ini)パス:/etc/php5/cli
ロードされた構成ファイル:/etc/php5/cli/php.ini
追加の.iniファイルをスキャン:/etc/php5/cli/conf.d
追加.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にはこのAFAIKがないことに注意してください。

私の最後の仕事で、私はすべての実行でINIファイルを指定する習慣を身につけました...

C:\php\cli\php.exe -c C:\php\php.ini myscript.php

以下のコマンドを使用してPHP.iniを見つけることができます。 Linuxで

find / -name php.ini

また

locate php.ini

/etc/php5/cli/php.ini

Windowsで興味深いのは、両方のテスト(Phpinfo()を使用したApacheで、PHPを備えたCLI)では、構成ファイルパスはC: Windowsです。より詳しい情報 ここ

同じ問題がありました。 /etc/php5/conf.d/のすべてのファイルから所有者と権限を確認するだけです。ルートが所有し、Anymoneが読みやすいものでなければなりません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top