我需要在我的EasyPHP环境中启用pdo_mysql,所以我去了php.ini文件并取消注释以下行:
extension=php_pdo_mysql.dll
不幸的是,我仍然有同样的问题。 我正在使用CLI,所以我想我需要找到CLI使用的php.ini文件。我怎么才能找到它?
我需要在我的EasyPHP环境中启用pdo_mysql,所以我去了php.ini文件并取消注释以下行:
extension=php_pdo_mysql.dll
不幸的是,我仍然有同样的问题。 我正在使用CLI,所以我想我需要找到CLI使用的php.ini文件。我怎么才能找到它?
当前回答
现在最简单的方法是使用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]
其他回答
试试这个,如果它对你们都有帮助的话:
find / -type f -name "php.ini"
这将输出所有名为php.ini的文件。
找出你使用的是哪一个,通常是apache2/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
在你的终端运行php——ini,你会得到所有关于ini文件的详细信息:
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed: /etc/php.d/apc.ini,
/etc/php.d/bcmath.ini,
/etc/php.d/curl.ini,
/etc/php.d/dba.ini,
/etc/php.d/dom.ini,
/etc/php.d/fileinfo.ini,
/etc/php.d/gd.ini,
/etc/php.d/imap.ini,
/etc/php.d/json.ini,
/etc/php.d/mbstring.ini,
/etc/php.d/memcache.ini,
/etc/php.d/mysql.ini,
/etc/php.d/mysqli.ini,
/etc/php.d/pdo.ini,
/etc/php.d/pdo_mysql.ini,
/etc/php.d/pdo_sqlite.ini,
/etc/php.d/phar.ini,
/etc/php.d/posix.ini,
/etc/php.d/sqlite3.ini,
/etc/php.d/ssh2.ini,
/etc/php.d/sysvmsg.ini,
/etc/php.d/sysvsem.ini,
/etc/php.d/sysvshm.ini,
/etc/php.d/wddx.ini,
/etc/php.d/xmlreader.ini,
/etc/php.d/xmlwriter.ini,
/etc/php.d/xsl.ini,
/etc/php.d/zip.ini
更多信息,请使用帮助命令php——help。它会显示所有可能的选项。
只需运行php——ini,并在输出中查找加载的配置文件,以查找CLI使用的php.ini的位置。
如果你需要将它传递给另一个应用程序,你可以这样做:
php --ini | grep Loaded | cut -d" " -f12
只返回路径。php -c $(php——ini | grep Loaded | cut -d" " -f12)将在配置文件中传递(对fpm有用)