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

extension=php_pdo_mysql.dll

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


当前回答

如果你需要将它传递给另一个应用程序,你可以这样做:

php --ini | grep Loaded | cut -d" " -f12

只返回路径。php -c $(php——ini | grep Loaded | cut -d" " -f12)将在配置文件中传递(对fpm有用)

其他回答

你可以使用以下方法获得完整的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"

在你的终端运行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。它会显示所有可能的选项。

在Docker容器中,"phpmyadmin/phpmyadmin"。没有任何php.ini文件。但是有两个文件:php.ini-debug和php.ini-production。

要解决这个问题,只需将其中一个文件重命名为php.ini并重新启动Docker容器。

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

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

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

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

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