在Ubuntu中,我对php.ini进行了更改,但没有任何反应


13

嗨,使用php的Apache运作良好,但是我在php.ini中所做的任何更改都没有生效,我什至删除了文件的所有内容,然后重新启动Apache,然后运行phpinfo(),令人惊讶的是,一切仍然可以正常进行。

我正在编辑的文件是出现在phpinfo()中的文件,例如“ Loaded Configuration File”。(/etc/php5/apache2/php.ini)

PS我正在运行Ubuntu 9.04和PHP 5.2

更多细节:

我使用sudo /etc/init.d/apache2 restart重新启动,我也尝试过sudo /etc/init.d/apache2 stop,然后在重新启动时启动,我得到:

  • 重新启动Web服务器apache2 apache2:无法可靠地确定服务器的完全限定域名,对于ServerName使用127.0.1.1 ...等待apache2:无法可靠地确定服务器的完全限定域名,对于ServerName使用127.0.1.1 [确定]

“哪个php”没有产生任何结果。

我的PHP安装是使用Synaptic软件包管理器完成的,选择“按任务标记软件包”,然后选择LAMP服务器。

我不知道该怎么办...


不知道如果没有php.ini就可以运行。非常感谢大家。

对于该错误,请确保正确设置了主机名
Jimsmithkka'1

我正面临着同样的问题。您似乎已经使用此线程的响应解决了您的问题,但是...我不确定如何。您能否详细说明一下这个技巧给您带来了什么?预先感谢您的帮助。
2012年

Answers:


15

我在早期版本的Ubuntu(12.04),Apache 2.2.22和PHP5-php5-fpm fastCGI风格中遇到了相同的问题。在做

service apache2 restart 

还不够,因为它只是重新启动了http服务器:您还必须发出命令

service php5-fpm restart

重新启动应用程序服务器,PHP再次读取php.ini文件。


@ACarter没问题,只想添加我对KB的个人贡献:)
Paolo Stefan

对我不起作用无法重新启动php5-fpm.service:单元php5-fpm.service无法加载:没有这样的文件或目录。
theArc

9

看起来您正在更改错误的php.ini-检查phpinfo()输出中给出的php.ini的位置!这将向您显示实际使用的php.ini。

还要检查Apache重新启动是否真的成功。;)


上面的答案是正确的,我们已经安装了libapache2-mod-php5filter模块,此文件的php.ini是要修改的正确文件,对普通php.ini文件的更改将无济于事。(我在同一系统上安装moodle和mahara时遇到了同样的问题,moodle需要此软件包!)。

8

确保您正在编辑正确的文件。有几个针对不同情况的文件(至少在Jaunty上)位于/etc/php5/

对于apache + mod_php,您需要 /etc/php5/apache2/php.ini


1

确认您没有使用2个php.ini文件-一个用于Web服务器模块,另一个用于CLI版本。


1

它可以继续工作,因为PHP可以在没有php.ini文件的情况下运行,但是可以在编译时打开任何选项来运行。

您所做的哪些更改未显示在phpinfo()输出中?


+1好!长期寻找这个!
Marco Demaio 2011年

1

尝试

sudo aptitude install libapache2-mod-php5filter 

比使用配置/etc/php5/apache2filter/php.ini,而不是


1

我遇到了同样的问题,对于那些在我之前回答的人,不,我不是在编辑错误的文件。

我正在运行运行Nginx的Ubuntu 10.04,并且我的PHP安装使用PHP-FPM。PHP-FPM似乎是导致问题的原因。

为了解决这个问题,我从命令行运行php-fpm。(只需输入php-fpm并按回车即可。)

就我而言,这给了我一些关于未找到模块的警告,然后退出。

此后,phpinfo将显示正确的值,而无需重新启动Web服务器。

我希望这有帮助。


0

打开终端并输入

which php

然后,您将知道拥有哪个版本,然后可以从那里开始。我还将检查您是否正确重启了apache服务器


0

我正在使用Ubuntu 10.04(lucid)。为了使php.ini上的更改生效,您必须重新引导系统。重新启动apache是​​不够的。


0

在config.php中更改ServerName="127.0.1.1"

ServerName="Localhost"

0

这样做find / -type f -name "php.ini" 将输出名为的所有文件php.ini

找出您正在使用的那个,通常是apache2/php.ini.$ 编辑并喜欢。

phpinfo();可能会帮助您了解使用了哪一种。 lsof也可以帮助您。


0

我不确定为什么,但是service apache2 reload看起来成功了,但是没有导致任何更改反映在phpinfo输出中。运行sudo service apache2 reload工程。这是在Ubuntu 14.04中。

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.