找到正确的php.ini文件

我目前正试图找到正确的php.ini文件来编辑它,并重新启动apache,以便进行修改,我被难住了。

我找到了三个不同的php.ini文件(不知道为什么有三个)。 我是这样找到这些文件的

$ sudo find / -name php.ini
/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini

我还做了....

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

我把它们都改成了我想要的设置(只是为了确定)。

我重新启动了apache,使用

sudo service apache2 restart

结果是...

* Restarting web server apache2

我重新加载页面,显示php.ini文件没有更新。

我知道这一点是因为我用

echo ini_get('post_max_size');

本来应该改成20M的,但还是只有2M的。

我试着重新启动我的电脑,以为这样就可以停止apache服务器,并以正确的设置重新加载php.ini文件,但不幸的是,这一尝试也失败了。

有没有可能是另一个php.ini文件在干扰?

解决办法

你那里的三个文件分别是为了不同的用途。

/etc/php/5.6/cli/php.ini是CLI的PHP程序,通过在终端运行php可以找到它。

/etc/php/5.6/cgi/php.ini是为php-cgi系统准备的,在此设置中没有特别使用。

/etc/php/5.6/apache2/php.ini用于 Apache 使用的 PHP 插件。 这是你需要编辑的,的变化将应用于你的Apache设置。

/etc/php/5.6/fpm/php.ini是为php5-fpm处理器准备的,它是一个与fastcgi兼容的'包装器',用于PHP处理(例如从NGINX移交给php5-fpm),在系统中作为一个独立的进程运行(与Apache的PHP插件不同)。

对于Ubuntu *低于16.04的版本,/etc/php/5.6/,/etc/php/7.0/,/etc/php/7.1/等,被/etc/php5/等所取代。否则,这些路径仍然准确。 根据你的环境进行相应的调整,用你环境中存在的实际版本文件夹替换5.6或数字。

评论(2)

试着在浏览器中运行一个包含这个片段的脚本<?php phpinfo(); ?>,然后试着搜索类似加载的配置文件的东西。这个条目指定了你的PHP在Apache服务器中使用的php.ini。

评论(0)

为 php7 ubuntu 16.4

/etc/php/7.0/apache2/php.ini
评论(2)