70

似乎 php 命令行使用的 php.ini 与主 php 解释器不同。我正在使用 Ubuntu 10.4。我的问题是,在主 php.ini 中,我为外部库包含了一个额外的路径,但在 cli 版本中,这不存在,所以我有一个路径包含错误。

谢谢

4

7 回答 7

158

只问PHP:

php -i |grep php\.ini
于 2010-06-16T20:58:04.800 回答
69

更好的是: $ php --ini

这也将显示所有额外加载的 *.ini 文件(通常挂在 debian 的某个 conf.d 目录中):

配置文件 (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。

于 2010-06-16T21:05:47.260 回答
8

在我的上一份工作中,我养成了在每次执行时指定我的 ini 文件的习惯......

C:\php\cli\php.exe -c C:\php\php.ini myscript.php
于 2010-06-16T21:57:34.843 回答
4

您可以使用以下命令找到 php.ini。在 Linux 中

find / -name php.ini

或者

locate php.ini
于 2013-07-08T14:08:15.107 回答
1

/etc/php5/cli/php.ini

于 2010-06-16T20:57:12.803 回答
0

在 windows 中有趣的是,在两个测试中(在 apache 上使用 phpinfo() 和在 cli 中使用 php --ini),配置文件路径是 c:\windows。更多信息在这里

于 2013-08-08T15:51:47.667 回答
-4

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

于 2010-12-10T22:16:40.710 回答