当前位置: 首页>>技术教程>>正文


找到正确的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适用于通过在终端上运行php发现的CLI 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处理器,该处理器是用于PHP处理的fastcgi-compatible ‘wrapper'(例如从NGINX切换到php5-fpm),并作为系统上的独立进程运行(与Apache PHP插件不同)

For versions of Ubuntu lower than 16.04, /etc/php/5.6/,/etc/php/7.0/,/etc/php/7.1/, and so on, are replaced by /etc/php5/ and so on. Otherwise, these paths remain accurate. Adapt this accordingly for your environment, replacing the 5.6 or number with the actual version folder that exists on your environment.

次佳解决方法

尝试在浏览器<?php phpinfo(); ?>中运行包含此代码段的脚本,然后尝试搜索Loaded Configuration File之类的内容。此条目指定您的PHP在您的Apache服务器中使用的php.ini。

第三种解决方法

为php7 ubuntu 16.4

/etc/php/7.0/apache2/php.ini

第四种方法

要找到CLI正在使用哪个php.ini,您可以运行:

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/374.html,未经允许,请勿转载。