我需要在我的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

其他回答

在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]的正下方),问题就解决了。

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

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

现在最简单的方法是使用PHP配置:

php-config --ini-dir

输出:

/usr/local/etc/php/7.4/conf.d

你可以在那里找到更多的东西。——help子命令(macOS本地安装):

php-config --help

输出:

Usage: /usr/local/bin/php-config [OPTION]
Options:
  --prefixUsage: /usr/local/bin/php-config [OPTION]
Options:
  --prefix            [/usr/local/Cellar/php/7.4.11]
  --includes          [-I/usr/local/Cellar/php/7.4.11/include/php - …ETC…]
  --ldflags           [ -L/usr/local/Cellar/krb5/1.18.2/lib -…ETC…]
  --libs              [ -ltidy -largon2 …ETC… ]
  --extension-dir     [/usr/local/Cellar/php/7.4.11/pecl/20190902]
  --include-dir       [/usr/local/Cellar/php/7.4.11/include/php]
  --man-dir           [/usr/local/Cellar/php/7.4.11/share/man]
  --php-binary        [/usr/local/Cellar/php/7.4.11/bin/php]
  --php-sapis         [ apache2handler cli fpm phpdbg cgi]
  --ini-path          [/usr/local/etc/php/7.4]
  --ini-dir           [/usr/local/etc/php/7.4/conf.d]
  --configure-options [--prefix=/usr/local/Cellar/php/7.4.11 --…ETC…]
  --version           [7.4.11]
  --vernum            [70411]

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

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

在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