找到正确的 php.ini 文件

找到正确的 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 文件会造成干扰?

答案1

那里的三个文件各自有不同的用途。

/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 内置 PHP 模块的 Apache 设置应用更改。

/etc/php/5.6/fpm/php.iniphp5-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.iniCLI 正在使用哪个,您可以运行:

php -i | grep 'php.ini'

示例输出:

$ php -i | grep 'php.ini'

Configuration File (php.ini) Path => /etc/php/7.0/cli
Loaded Configuration File => /etc/php/7.0/cli/php.ini

答案3

尝试在浏览器中运行包含此代码片段的脚本<?php phpinfo(); ?>,然后尝试搜索类似加载配置文件。此条目指定您的 PHP 在 Apache 服务器中使用的 php.ini。

答案4

您可以在终端上运行以下命令找到正在使用的文件:

php --ini

相关内容