如何找到项目使用的php.ini文件?

hello,各位大佬~

请问如何找到web项目所使用的php.ini文件?就是访问echo phpinfo();时看到的Loaded Configuration File路径。

通过

php -i | grep php.ini 

在命令行查找到配置文件php.ini有时并不是web项目使用的php.ini文件。

请大神指导一下~感谢~

阅读 6.4k
8 个回答

php --ini


  • 找到运行的PHP

clipboard.png

clipboard.png

  • 执行./php --ini

不知道这样是否能解决你的问题。

php -i | grep php.ini

这个只能说你使用默认的php使用的是哪个ini文件,如果你直接使用php a.php这么运行,那就是这个

web使用php-fpm的情况下,可能使用的是不同的配置文件,那么你就在你的网站的一个安全页面上使用 phpinfo() 看到输出的配置文件路径,就是你当前使用的。

一般有命令行PHP CLI和进程管理器PHP-FPM两种调用PHP的方式

在PHP程式中看可用函数php_sapi_name()区分

要在终端找到php-fpm使用的的ini配置,可以参考下面命令

图片描述

简单方法

 php -i | grep Configuration\ File

结果

[root@******** /root]# php -i | grep Configuration\ File
Configuration File (php.ini) Path => /usr/local/php7.1/etc
Loaded Configuration File => (none)

额,php有3种配置文件,如果不仔细找的话,不是很好找.cgi(apache配置的文件),cli(控制台配置文件),fpm(nginx配置文件),通常的找法哈,如果是命令行,直接输入

php --ini

这个显示出来的是cli下面的配置文件,你可以直接到对应的目录下查找对应的配置文件.
在apache环境下,phpinfo函数会打印出来一个Configuration File (php.ini) Path这个选项,这个是cgi的配置文件.同理,在nginx下,输入的是fpm的ini配置文件.
以上是我的环境配置.当然,如果是用的windows集成环境,一般对应的是安装目录下的php文件夹下的配置.

php --ini和phpinfo确实有可能不一样。当初查的死去活来,怎么改都不生效……最后发现罪魁祸首是php-fpm……
话说那啥,你都知道不一样了……所以直接跑个echo phpinfo()不就好了||||||

  1. 可以通过phpinfo函数 查看配置文件选项

2.linux下可以安装 locate 查找 locate php.ini
3.可以通过 find /usr -name php.ini来查找

新手上路,请多包涵

我都是用 find / -name php.ini 来找的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题