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

extension=php_pdo_mysql.dll

不幸的是,我仍然有同样的问题。 我正在使用CLI,所以我想我需要找到CLI使用的php.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

其他回答

你可以使用以下方法获得完整的phpinfo():

php -i

在那里,有使用的php.ini文件:

$ php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini

在Windows上,使用find代替:

php -i | find/i"configuration file"

在OS X v10.9 (Mavericks)上,运行:

$ php -i | grep 'Configuration File'

返回:

Configuration File (php.ini) Path => /etc
Loaded Configuration File:         (none)

在/etc/目录中是:

php.ini.default

(以及php-fpm.conf.default)

我可以复制php.ini.default到php.ini,添加日期。timezone = "US/Central"移到最上面(在[php]的正下方),问题就解决了。

(至少错误消息消失了。)

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

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

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

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

我记得当我使用EasyPHP时,php.ini文件在C:\Windows\或C:\Windows\ system32中

你可以使用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