找到正确的php.ini文件


168

我目前正在尝试找到正确的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文件?


6
“正确”的一个在apache2子目录中
Joren

1
使用updatedb; locate php.ini代替find
sjas 2015年

@Michael该文件/etc/php/5.6/apache2/php.ini位于Ubuntu 16.04 LTS Xenial Xerus中,5.6/是安装的php版本。首先复制文件,php.original.ini然后使用sudo gedit /etc/php/5.6/apache2/php.ini
Hedley Finger

Answers:


288

您拥有的三个文件分别具有不同的用途。

/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中存在的实际版本文件夹替换或号。


1
在/ etc / php5 / apache2目录中找不到php.ini。但可以在cli目录中找到。
Anuj TBE 2015年

2
@ anujsharma9196唯一的原因是,如果您没有使用Apache构建的PHP插件。文件路径仍然可以按今天列出的方式运行(已在我的15.04 VM上确认)
Thomas Ward

21

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


14

要查找php.ini正在使用的CLI,可以运行:

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

这应该是公认的答案!
MarceloÁgil'18

1
这很好,但是只会提供cli加载的php配置。要获取apache加载的配置,需要在网页上执行phpinfo()。
Dipu Raj

13

对于php7 ubuntu 16.4

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

1
我缺少该文件。哪个软件包提供了该文件?
galmok

在ubuntu 16.4上适用于php7
Softmixt

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.