有预加载的文件时Apache无法启动

时间:2019-12-13 12:24:42

标签: php apache php-7.4

我刚刚安装了Opcache,并且看起来一切正常,但是当我在opcache.preload的{​​{1}}中添加PHP文件并重新启动Apache服务器时,它没有启动。另一方面,在CLI中,SAPI的预加载效果很好!

当我注释掉php.ini并重新启动时,Apache服务器正常工作

由于此问题未产生任何错误,因此我查找了Apache opcache.preload文件,结果发现问题是我没有定义opcahe预加载用户

  

尚未定义致命错误“ opcache.preload_user”

但是根据PHP documentation

  

出于安全原因,不允许以root身份预加载代码。该指令有助于使预加载以另一个用户的身份运行。

我正在在WSL下运行Ubuntu的个人计算机上工作

所以请指导我该怎么办?我应该添加什么用户?

1 个答案:

答案 0 :(得分:1)

Ubuntu上Web服务器的默认用户为www-data

您需要做的就是

opcache.preload_user=www-data

如果要检查预加载

var_dump(opcache_get_status()['preload_statistics']); 

它将列出所有预加载的文件以及它们占用的内存

关于为什么当我没有定义预加载用户时Apache拒绝启动的原因,我实际上不知道为什么。可能不确定,但这可能是一个错误。