You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cachet仪表盘登录出现500错误,恢复路径配置后仍无法生效求助

解决Cachet路径重复导致的Fatal Error问题

我之前搭建Cachet时也碰到过几乎一模一样的路径拼接问题,结合你给出的Nginx错误日志——

PHP message: PHP Fatal error: require(): Failed opening required '/home/cachet/www/bootstrap/home/cachet/www/vendor/autoload.php'...

一眼就能看出问题所在:你修改路径时,把相对路径变量和绝对路径硬拼到一起了,导致__DIR__(也就是/home/cachet/www/bootstrap)和你写的绝对路径直接拼接,形成了重复的错误路径。

下面是一步步的修复步骤:

  • 检查并修正bootstrap/autoload.php的require语句
    打开这个文件,确保里面的代码是以下两种正确写法之一:

    1. 相对路径(推荐,适配性更强):
      require __DIR__.'/../vendor/autoload.php';
      
    2. 完整绝对路径:
      require '/home/cachet/www/vendor/autoload.php';
      

    绝对不要写成require __DIR__.'/home/cachet/www/vendor/autoload.php';,这就是导致路径重复的元凶。

  • 彻底清理缓存,包括PHP OPcache
    除了清理Cachet的缓存文件夹,还要注意PHP的OPcache可能缓存了旧的文件内容,导致你改了代码但服务器还是读旧版本:

    1. 删除Cachet的缓存目录(一般是storage/framework/cache):
      rm -rf /home/cachet/www/storage/framework/cache/*
      
    2. 重启PHP-FPM服务(根据你的PHP版本调整命令):
      sudo systemctl restart php-fpm
      # 或者针对特定版本,比如php8.1-fpm
      sudo systemctl restart php8.1-fpm
      
  • 验证文件权限与存在性
    确认vendor/autoload.php确实存在,并且Web服务器用户(比如www-data)有读取权限:

    # 检查文件是否存在
    ls -l /home/cachet/www/vendor/autoload.php
    # 调整目录权限(如果需要)
    sudo chown -R www-data:www-data /home/cachet/www
    
  • 检查Nginx配置的root路径
    确保你的Nginx站点配置中,root指向的是Cachet的public目录,而不是上级目录,否则可能导致路径解析混乱:

    server {
        # ...其他配置
        root /home/cachet/www/public;
        # ...其他配置
    }
    

    修改后记得重启Nginx:sudo systemctl restart nginx

按照这些步骤操作后,应该就能解决这个路径错误导致的Fatal Error了。

内容的提问来源于stack exchange,提问作者sqlstatementus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:44:07