找到正确的php.ini文件

25

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

I also did....

sudo php -i | grep 'Configuration File'

This showed....

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

为确保生效,我将所有设置都更改为我想要的设置。

我使用以下命令重新启动了Apache:

sudo service apache2 restart

The results...

* Restarting web server apache2

我重新加载了页面,结果显示 php.ini 文件没有更新。我知道这是因为我使用了:
echo ini_get('post_max_size');

原本应该改为20M,但实际上仍然只有2M。

我尝试重新启动计算机,以为这样可能会合法地停止Apache服务器并重新加载带有正确设置的php.ini文件,但是不幸的是,这个尝试也失败了。

还有另一个可能会干扰的php.ini文件吗?


可以在这里找到更好、更有用的回答: 查找正确的php.ini文件


你是否已经逐个检查了所有的php.ini文件,通过ini_get()函数来改变值并进行了检查? - Jenson M John
1
我不确定如何使用ini_get()函数检查不同的php.ini文件,但是我已经执行了** echo ini_get('post_max_size'); **。这将打印默认值(应该更改为20)。 - Michael
在phpinfo页面中查找post_max_size,在您更改了/etc/php5/apache2/php.ini文件中的值后,它是否仍然为2M?您是否在.htaccess文件中设置了该值? - srain
我在这里找到了一个可能的解决方案:https://dev59.com/smgu5IYBdhLWcg3wASWO#11673121。基本上是说他们的php.ini文件中有语法错误,导致Apache无法加载其他非默认值。你知道是否有一种简单的方法来检查php.ini是否存在语法错误吗? - Michael
2
请避免交叉发布:http://askubuntu.com/questions/356968/find-the-correct-php-ini-file。 - AStopher
显示剩余4条评论
3个回答

20

由于Apache通过 mod_php 调用 PHP,因此其配置信息与命令行中的不同:

在根目录下创建一个名为 index.php 的文件,并将以下代码放入其中:

<?php
    phpinfo();

然后在浏览器中打开:/index.php

接着您将看到所有的配置信息。


3
创建一个PHP文件,并将以下代码放入其中:
phpinfo();

在浏览器中打开文件并找到加载的配置文件。就这么简单。


我已经完成了这个任务(实际上是我做的第一件事)。结果显示"/etc/php5/apache2/php.ini"是已加载的配置文件。我编辑了它,重新启动了Apache,但仍然发现配置没有改变。 - Michael

3
答案很简单。在我的php.ini文件中,我有一个语法错误(或某种错误)。
为了解决这个问题,我从http://git.php.net/?p=php-src.git;a=blob_plain;f=php.ini-production;hb=HEAD下载了最新的php.ini文件,然后更改了upload_max_filesize和post_max_size的值,重新启动Apache,重新加载了我的php_info(),一切都按预期工作!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接