我在哪里可以找到 php-cli 的 php.ini

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/3057110/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 08:33:39  来源:igfitidea点击:

where can I find the php.ini for php-cli

phpphp-ini

提问by Elzo Valugi

It appears that the php command line is using a different php.ini from the main php interpreter. I am using Ubuntu 10.4. My problem is that in the main php.ini I have included an extra path for an external library, but in the cli version this is not present, and so I have a path inclusion error.

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

thanks

谢谢

回答by timdev

Just ask PHP:

只问PHP:

$ php -i |grep php\.ini

$ php -i |grep php\.ini

回答by Wrikken

Better yet: $ php --ini

更好的是: $ php --ini

This will also show all extra *.ini files loaded (usually hanging around in some conf.d dir in debian):

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

Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File: /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed: /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.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

Note that this was about php-cli, php-cgi does not have this afaik.

请注意,这是关于 php-cli,php-cgi 没有这个 afaik。

回答by Fosco

At my last job, I got in the habit of specifying my ini file on every execution...

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

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

回答by Nanhe Kumar

You can find php.ini using the below command. in LINUX

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

find / -name php.ini

or

或者

locate php.ini

回答by Timo

Interesting in windows is that in both tests (on apache with phpinfo() and in cli with php --ini), the configuration file path is c:\windows. More info here

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

回答by ceejayoz

/etc/php5/cli/php.ini

/etc/php5/cli/php.ini

回答by user538444

I had the same problem. Simply check owner and permissions from every files in /etc/php5/conf.d/. It has to be owned by root and readeable by anymone.

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