服务器用的nginx+php+mysql,手动搭建的环境,
打开网站有时候会提示not found on accelerator,两台电脑,第一台可以访问,第二台就访问不了,有时候刷新两下就能进去,有时候要等很长时间一直提示not found on accelerator,有时候第一台提示not found on accelerator,第二台又好了,找不到问题的原因!
linux中nginx服务器提示not found on accelerator,如何解决?(语言-php|操作系统-linux)
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
28条回答 默认 最新
关注获得0.30元问题酬金 🕖上午好,题主!目前:🟢[在线]
📢参考通义千问、由郭老师整理提供!
📣今日诗号:落霞与孤鹜齐飞,秋水共长天一色。在Linux环境中使用Nginx + PHP + MySQL搭建的Web服务器上遇到“not found on accelerator”错误,通常与OPcache或其它加速器(如APCu)有关。这个错误可能是因为PHP脚本加载过程中遇到了一些问题,比如缓存失效、文件权限问题或者是PHP配置的问题。
下面是一些排查和解决问题的步骤:
1. 检查OPcache配置
首先,检查你的PHP配置文件
php.ini中的OPcache设置是否正确。可以通过查看phpinfo()输出来确认这些配置。确保以下参数设置合理:opcache.enable=1opcache.enable_cli=0(如果你不需要CLI的OPcache)opcache.memory_consumption=128(根据服务器内存大小调整)opcache.interned_strings_buffer=8opcache.max_accelerated_files=4000opcache.revalidate_freq=60(根据实际情况调整)
2. 清除OPcache缓存
如果OPcache缓存有问题,尝试清除缓存。你可以通过重启PHP-FPM服务来实现这一点,这会自动清除OPcache缓存:
sudo systemctl restart php-fpm或者,如果你的服务器使用的是PHP-FPM的多实例模式,确保重启正确的FPM服务。
3. 文件权限检查
确保你的Web根目录下的所有文件和目录对Web服务器用户(通常是www-data或nginx)具有适当的读取权限。例如:
sudo chown -R www-data:www-data /path/to/your/webroot sudo chmod -R 755 /path/to/your/webroot4. 查看错误日志
检查Nginx和PHP的日志文件,以获取更多关于这个错误的信息。Nginx的日志通常位于
/var/log/nginx/error.log,而PHP-FPM的日志通常在/var/log/php-fpm/*.log。查看这些日志文件可能会提供关于为什么会出现“not found on accelerator”错误的线索。5. 确认Web服务器配置
确保你的Nginx配置文件正确地指向了你的PHP-FPM服务。例如,你的Nginx配置文件中应该有类似以下的location块来处理PHP请求:
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 根据你的PHP版本和安装情况调整 }6. 使用APCu或其他缓存机制
如果问题依然存在,考虑使用其他类型的缓存机制,如APCu,它专门用于加速PHP应用程序中的数据存储。确保你的
php.ini文件中启用了APCu,并且正确配置了相关设置。通过以上步骤,你应该能够找到并解决“not found on accelerator”错误的根本原因。如果问题仍然存在,建议更详细地检查你的系统日志和配置文件,寻找潜在的问题。
解决 无用评论 打赏 举报