除非我在Ubuntu上重启php-fpm,否则对php文件的更改并不反映

时间:2015-05-24 01:45:38

标签: php ubuntu

我有一个Ubuntu和一个centos服务器。在centos服务器上,每当我更改php文件时,它们立即反映,但在Ubuntu上,我必须重新启动php-fpm才能使它们反映出来。

我没有发现任何相关内容。

任何人都有类似的经历吗?

2 个答案:

答案 0 :(得分:6)

  • What version of php on which version of ubuntu ?
  • Do you have any reference of opcache.enable=1, somewhere in your php config maybe (/etc/php5/fpm/conf.d/) ?

In a temporary php file, put something like this (don't forget to remove it afterward):

   <?php
   phpinfo();

On recent PHP version (5.5+), search for Zend OPcache section and see if it's active or not It might be enabled in . If so, take a look to opcache doc to configure it properly (according the dic, opcache.revalidate_freq to 0 for a check on each request). https://php.net/manual/fr/opcache.configuration.php#ini.opcache.revalidate-freq

Another cause might be php apc (for php 5.4 and lower).

答案 1 :(得分:1)

我搜索同样的东西让我来到这里。 Opcache已启用。对于上面提到的设置(不是英语)PHP文档,我只发现“0将导致OPcache检查每个请求的更新。”

然而,我最初没有赶上下一行。因此,为了节省其他几分钟,这里是信息:

您需要在php.ini或ext-NN-opcache.ini(自动包含)中编辑这两个设置,然后使用service php-fpm restart重启php-fpm以查看更改。< / p>

; after how many seconds should code/file be checked for changes (expire)

opcache.revalidate_freq=5

; If this is off, the above does not matter. won't be checked. (no expire)

opcache.validate_timestamps=1

以下是英文版链接:https://secure.php.net/manual/en/opcache.configuration.php#ini.opcache.revalidate-freq