我该在哪里找到用于php-cli的php.ini文件?

72

看起来php命令行使用的是不同于主php解释器的php.ini文件。我使用的是Ubuntu 10.4。我的问题是在主php.ini文件中,我已经包含了一个外部库的额外路径,但在命令行版本中,这个路径不存在,因此我遇到了路径包含错误。

谢谢


可能是重复的问题:如何找到命令行使用的php.ini文件? - Wrikken
7个回答

163

只需询问 PHP:

php -i |grep php\.ini

比我的回答更好,因为它可以适用于非默认和非Ubuntu的情况。 - ceejayoz
我得到的是配置文件(php.ini)路径=>/usr/local/lib64,但是php.ini不在这个文件夹中。 - Black
如果您看不到 php.ini,那就意味着它不存在,PHP 将采用默认值。您可以在此目录中创建新的 php.ini 文件。 - Jsowa
在创建新文件之前,请检查下面的答案,因为可能会有另一个文件存在。 - til

72
更好的方法: $ 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 没有这个功能,据我所知。

关于所有 conf.d 文件的说明 - 在Ubuntu中,该文件夹是一个符号链接,因此它们在所有PHP使用者之间共享。 - ceejayoz
正如Debian的默认设置一样,假设用户已经从正常的软件仓库中安装了系统。 - Wrikken

8
在我上一份工作中,我养成了在每次执行时指定我的ini文件的习惯...
C:\php\cli\php.exe -c C:\php\php.ini myscript.php

有趣。我喜欢它。我刚刚在我的一个cron作业中使用了它,并配合自定义的php.ini文件。 - Mike

3

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

find / -name php.ini

或者

locate php.ini

这不是答案,请提出具体问题。 - ninja
@忍者,为什么不呢? - Black
它只是搜索文件名类似的文件。系统中可能有多个或没有>>php.ini<<文件。 - til

1

/etc/php5/cli/php.ini


0

在Windows系统中的有趣之处是,在两个测试环境(使用 phpinfo() 在 Apache 上和使用 php --ini 在命令行中),配置文件路径都是 c:\windows。更多信息在这里


-4
我曾经遇到过同样的问题。只需检查 /etc/php5/conf.d/ 目录下每个文件的所有者和权限即可。这些文件必须归属于 root 用户,并且任何人都可以读取。

不必,只需可被进程读取,所有者可以是任何人,至少在Linux下是这样。 - Wrikken

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接