Fat*_*ror 5 php apache php-7.4
我刚装了Opcache
,一切似乎工作得很好,但是当我在添加一个PHP文件opcache.preload
中php.ini
并重新启动Apache服务器无法启动。另一方面,在 CLI SAPI 中预加载工作正常!
当我注释掉opcache.preload
并重新启动时,Apache 服务器工作
由于这个问题没有发出任何错误,我查找了 Apacheerror_log
文件,结果发现问题是我没有定义 opcahe 预加载用户
尚未定义致命错误“opcache.preload_user”
但根据PHP 文档
出于安全原因,不允许以 root 身份预加载代码。该指令有助于让预加载以另一个用户身份运行。
我在我的个人电脑上工作,在WSL下运行 Ubuntu
所以请指导我我该怎么做?我应该添加什么用户?
Ubuntu 上 Web 服务器的默认用户是 www-data
你需要做的就是
opcache.preload_user=www-data
Run Code Online (Sandbox Code Playgroud)
如果你想检查预加载
var_dump(opcache_get_status()['preload_statistics']);
Run Code Online (Sandbox Code Playgroud)
它将列出所有预加载的文件以及它们消耗的内存
至于为什么我没有定义预加载用户时Apache拒绝启动?
我其实不知道为什么。这可能是一个错误,但不确定。
虽然 PHP 文档中的声明并不完整,但请注意:
默认情况下不允许在 root 下预加载,但允许显式 使用 opcache.preload_user=root