php cli额外的.ini文件未加载

我已经编译了PHP 5.3,除了从命令行运行PHP时,一切似乎都正常工作。

当我运行:

# php --ini 

它产生这个输出:

 Configuration File (php.ini) Path: /etc/php5/apache2 Loaded Configuration File: /etc/php5/apache2/php.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none) 

当我创build一个页面并输出phpinfo(); 我得到这个输出:

 Configuration File (php.ini) Path: /etc/php5/apache2 Loaded Configuration File: /etc/php5/apache2/php.ini Scan for additional .ini files in: /etc/php5/apache2/conf.d Additional .ini files parsed: /etc/php5/apache2/conf.d/curl.ini, /etc/php5/apache2/conf.d/gd.ini, /etc/php5/apache2/conf.d/imagick.ini, /etc/php5/apache2/conf.d/memcache.ini, /etc/php5/apache2/conf.d/mhash.ini, /etc/php5/apache2/conf.d/ming.ini, /etc/php5/apache2/conf.d/mysql.ini, /etc/php5/apache2/conf.d/mysqli.ini, /etc/php5/apache2/conf.d/pdo.ini, /etc/php5/apache2/conf.d/pdo_mysql.ini, /etc/php5/apache2/conf.d/pdo_sqlite.ini, /etc/php5/apache2/conf.d/pspell.ini, /etc/php5/apache2/conf.d/recode.ini, /etc/php5/apache2/conf.d/snmp.ini, /etc/php5/apache2/conf.d/sqlite.ini, /etc/php5/apache2/conf.d/tidy.ini, /etc/php5/apache2/conf.d/xmlrpc.ini, /etc/php5/apache2/conf.d/xsl.ini 

我不知道为什么当php通过Apache执行而不是使用CLI时,加载额外的.ini文件。 有没有人有任何想法?

这里是我用来编译PHP的精简configuration

 './configure' \ '--prefix=/usr' \ '--with-config-file-path=/etc/php5/apache2' \ '--with-config-file-scan-dir=/etc/php5/apache2/conf.d' 

我需要PDO的MySQL驱动程序加载我在命令行上运行的东西,我猜这是问题的根源。

任何build议,将受到好评。

我不知道为什么php在cli中运行时不使用config-file-scan-dir(你确定你装载的二进制文件是好的吗?我的意思是你重build的那个)。
但是,您可以使用php -c /etc/php5/apache2/conf.d或将PHP_INI_SCAN_DIR设置为/etc/php5/apache2/conf.d作为解决方法。

问题不在于最终没有包含额外的.ini文件。

我重新编译了PHP,发现“make install”命令没有完成。 产生的错误是:

 apxs:Error: Activation failed for custom /etc/apache2/httpd.conf file.. apxs:Error: At least one `LoadModule' directive already has to exist.. 

正如Apache提供的apache2.conf(包含模块指令和httpd.conf)一样,httpd.conf实际上是空的。

简单地添加:

 # Dummy LoadModule directive to aid module installations # LoadModule dummy_module /usr/lib/apache2/modules/mod_dummy.so 

到httpd.conf允许apxs运行没有任何错误,完整的PHP安装成功完成。

然后PDO驱动程序可以在CLI上以及通过Apache使用。

正如半径所暗示的那样,本质上,我并没有使用一个好的二进制。 谢谢你的帮助。

我有同样的问题。 只需检查/etc/php5/conf.d/中每个文件的所有者和权限。 它必须由root拥有,任何其他用户都可以读取。