更改php.ini文件后,我需要重新启动Apache吗?

76

如果我在php.ini文件中更改了某个设置,那么我需要重新启动Apache才能使其生效吗?

5个回答

83

实际上,这取决于您在web服务器中如何使用php:

  • 将php作为模块在http服务器内部使用:您需要重新启动http服务器进程
  • 将php作为cgi后端使用:您不需要重新启动http服务器进程或任何其他东西
  • 使用php fastcgi:您需要重新启动fastcgi守护进程,而不是http服务器
  • 使用php-fpm:您需要重新启动fpm服务器进程,而不是http服务器进程

11
PHP-FPM需要重新启动以避免配置不一致。某些工作进程将保持静止并保留旧的配置,而新的工作进程将获得新的配置。 - Leigh
@osullic 当然可以去问问题,毕竟这就是这个网站存在的目的,不是吗?;-) 但是,在提问之前...你实际上指的是什么意思呢?乍一看似乎很平凡,但是确实如此吗?当给定的HTTP服务器时,你会怎样说这个说法是正确的呢? - arkascha
一个继承了 PHP/Apache 项目的人,要如何确定这个设置呢? - scrollout
1
@scrollout 其实这取决于你的设置。让我们聊一聊: https://chat.stackoverflow.com/rooms/244443/do-i-need-to-restart-apache-after-changing-the-php-ini-file - arkascha
1
@twhitney 是的,那很好。 - undefined
显示剩余2条评论

16
在Debian 8上,我需要重新启动PHP-FPM(和Apache)。 以上答案是正确的,但以下是命令,所以您不必再搜索它们。
重新启动Apache:
/etc/init.d/apache2 restart

重新启动php5-fpm:

sudo service php5-fpm restart

2
这实际上取决于您使用的发行版,所需的命令是不同的。 - arkascha
1
我找到了这个答案,它展示了基于你所运行的PHP版本来重启php-fpm的方法。 - Shadoath

7
这取决于您使用的SAPI。例如,如果您将PHP作为Apache模块使用,则需要重新启动Apache,以便php.ini值生效。
如果您使用FCGI,则需要重新启动FCGI守护进程才能更改PHP脚本的值。请参阅
与以下内容进行比较:在nginx上更改upload_max_filesize时出现问题.

你的意思是SAPI指的是服务器API吗? - graciano

4

这取决于您正在运行的操作系统和版本。

我正在Ubuntu下运行Apache/2.4.29。

PHP版本为7.2.24。

我使用以下命令重启Apache,并且在修改php.ini文件后需要重新启动:

sudo service apache2 restart

-1

对于Apache我不确定,但在Windows上使用IIS时,不需要重新启动。

无论如何,考虑到PHP有各种不同的配置方式,一种简单的检查方法是在浏览器中加载您的phpinfo.php文件并确认设置的值,然后在php.ini中更改该设置并重新加载phpinfo.php以查看是否已经更新。

如果您不知道“phpinfo.php”是什么,请查看此页面:https://blogtimenow.com/knowledge-base/create-phpinfo-php-file-page/


1
尽管它对Apache没什么帮助,但如果 ini 文件受IIS监控,则说在 IIS 中不需要它是完全正确的。 - mech

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