有很多这样的问题,但我找不到解释这种行为的问题。我会尝试解决类似问题中涉及的问题:
我从源代码安装了php 5.3.28,并将php.ini-production从源代码复制到/usr/local/etc/php53/php.ini。我使用了以下配置选项,以便PHP读取该文件。
# Rearranged for readability
Configure Command => './configure'
'--with-config-file-path=/usr/local/etc/php53'
'--with-config-file-scan-dir=/usr/local/etc/php53/conf.d'
'--prefix=/usr/local'
'--enable-debug' '--enable-mbstring' '--enable-soap' '--enable-zip' '--with-bz2' '--with-curl' '--with-gettext' '--with-mcrypt' '--with-mhash' '--with-mysql' '--with-openssl' '--with-pdo-mysql' '--with-pspell' '--with-readline' '--with-tidy' '--with-xsl'
好吧,PHP没有读取该文件。
$ php -i | grep Configuration' File'
Configuration File (php.ini) Path => /usr/local/etc/php53
Loaded Configuration File => (none)
$ php --ini
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
php -i
和php --ini
如何为配置文件(php.ini)路径提供不同的输出?
(对类似问题的一些答案/评论想知道哪个php
命令正在使用。请注意,此问题与命令行上的php
一致,所以{上面是{1}}唯一的一个。在这种情况下,Apache是否使用不同的php
是不相关的。)
我没有any php environment variables设置:
php
上述任何一项都没有输出。
最后,I can force $ env | grep PHP
$ export | grep -iF php
$ set | grep -iF php
通过命令行标记执行我想要的操作(php可以读取并解析文件的证据)
php
但是,当我不在命令行上给它任何标记时,为什么它不会将我指定的文件加载到$ php -nc /usr/local/etc/php53/php.ini -i | grep -F Configuration' Fi'
Configuration File (php.ini) Path => /usr/local/etc/php53
Loaded Configuration File => /usr/local/etc/php53/php.ini
$ php -nc /usr/local/etc/php53/php.ini --ini
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: /usr/local/etc/php53/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
?