杨位晨 2024-10-21 01:43 采纳率: 0%
浏览 28
已结题

linux中nginx服务器提示not found on accelerator,如何解决?(语言-php|操作系统-linux)

服务器用的nginx+php+mysql,手动搭建的环境,
打开网站有时候会提示not found on accelerator,两台电脑,第一台可以访问,第二台就访问不了,有时候刷新两下就能进去,有时候要等很长时间一直提示not found on accelerator,有时候第一台提示not found on accelerator,第二台又好了,找不到问题的原因!

  • 写回答

28条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-10-21 08:36
    关注
    获得0.30元问题酬金

    🕖上午好,题主!目前:🟢[在线]
    📢参考通义千问、由郭老师整理提供!
    📣今日诗号:落霞与孤鹜齐飞,秋水共长天一色。

    在Linux环境中使用Nginx + PHP + MySQL搭建的Web服务器上遇到“not found on accelerator”错误,通常与OPcache或其它加速器(如APCu)有关。这个错误可能是因为PHP脚本加载过程中遇到了一些问题,比如缓存失效、文件权限问题或者是PHP配置的问题。

    下面是一些排查和解决问题的步骤:

    1. 检查OPcache配置

    首先,检查你的PHP配置文件php.ini中的OPcache设置是否正确。可以通过查看phpinfo()输出来确认这些配置。确保以下参数设置合理:

    • opcache.enable=1
    • opcache.enable_cli=0(如果你不需要CLI的OPcache)
    • opcache.memory_consumption=128(根据服务器内存大小调整)
    • opcache.interned_strings_buffer=8
    • opcache.max_accelerated_files=4000
    • opcache.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/webroot
    

    4. 查看错误日志

    检查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”错误的根本原因。如果问题仍然存在,建议更详细地检查你的系统日志和配置文件,寻找潜在的问题。

    评论

报告相同问题?

问题事件

  • 系统已结题 10月29日
  • 修改了问题 10月21日
  • 创建了问题 10月21日