我需要在我的EasyPHP环境中启用pdo_mysql,所以我去了php.ini文件并取消注释以下行:

extension=php_pdo_mysql.dll

不幸的是,我仍然有同样的问题。 我正在使用CLI,所以我想我需要找到CLI使用的php.ini文件。我怎么才能找到它?


当前回答

如果你想加载所有的配置文件,这将告诉你:

php -i | grep "\.ini"

有些系统从多个ini文件中加载内容。在我的Ubuntu系统上,它看起来是这样的:

php -i | grep "\.ini"

输出

Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini
Scan this dir for additional .ini files => /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/mcrypt.ini,
/etc/php5/cli/conf.d/memcache.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

其他回答

你可以使用get_cfg_var('cfg_file_path')来实现:

要检查系统是否正在使用配置文件,请尝试检索cfg_file_path配置设置的值。如果可用,则表示正在使用配置文件。

Unlike phpinfo() it will tell if it didn't find/use a php.ini at all.
var_dump( get_cfg_var('cfg_file_path') );

你可以简单地设置php.ini的位置。您正在使用命令行版本,因此使用-c参数可以指定此特定运行的位置,例如。

php -c /home/me/php.ini -f /home/me/test.php

在Linux上,它通常在/usr/bin/php下

要在CLI中找到php.ini,请运行:

php.exe -i | grep "php.ini"

Ps.你可以用以下方法本地化PHP安装文件夹:

which php

or

whereis php

/c/laragon/bin/php/php-7.4.19-Win32-vc15-x64/php

试试这个,如果它对你们都有帮助的话:

find / -type f -name "php.ini" 

这将输出所有名为php.ini的文件。

找出你使用的是哪一个,通常是apache2/php.ini

保存CLI phpinfo输出到本地文件:

php -i >> phpinfo-cli.txt

然后打开文件,找到“已加载配置文件”行。它将包含实际加载的php.ini文件的路径。

Loaded Configuration File => D:\wamp\bin\php\php7.4.1\php.ini

注意,PHP可能会为CLI模式加载不同的PHP .ini文件,而为HTTP模式加载另一个。

如果你想加载所有的配置文件,这将告诉你:

php -i | grep "\.ini"

有些系统从多个ini文件中加载内容。在我的Ubuntu系统上,它看起来是这样的:

php -i | grep "\.ini"

输出

Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini
Scan this dir for additional .ini files => /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/mcrypt.ini,
/etc/php5/cli/conf.d/memcache.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