警告:要求(...):无法打开流:中没有这样的文件或目录

Lov*_*ock 5 php require laravel

刚刚将我的 Laravel 站点移至我的实时服务器,并立即面临此错误。

完整的错误是:

Warning: require(/var/sites/b/beta.buildsanctuary.com/public_html/local/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /var/sites/b/beta.buildsanctuary.com/public_html/local/bootstrap/autoload.php on line 17

Fatal error: require(): Failed opening required '/var/sites/b/beta.buildsanctuary.com/public_html/local/bootstrap/../vendor/autoload.php' (include_path='.:/usr/local/lib/php') in /var/sites/b/beta.buildsanctuary.com/public_html/local/bootstrap/autoload.php on line 17
Run Code Online (Sandbox Code Playgroud)

第 17 行是:

需要目录.'/../vendor/autoload.php';

文件夹结构为:

beta.buildsanctuary.com
  -- public_html
  -- subdomains
    -- beta
      -- local
        -- bootstrap
        -- vendor
Run Code Online (Sandbox Code Playgroud)

这哪里出错了有什么帮助吗?以及如何修复?尝试各种路径拉我的头发。

谢谢,克雷格。

dmS*_*azi 11

我坚信缓存损坏是原因,我不能 100% 确定,但看起来它很可能是罪魁祸首。

因此,如果有人遇到类似的问题,我建议采取以下步骤:

  1. 删除供应商文件夹
  2. 删除composer.lock
  3. 运行命令composer clearcache(或清除缓存)
  4. 跑步composer install

我希望这可以帮助别人。


小智 3

从错误中可以看出,PHP 正在寻找

public_html/local/bootstrap/../vendor/autoload.php`
Run Code Online (Sandbox Code Playgroud)

这是

public_html/local/vendor/autoload.php
Run Code Online (Sandbox Code Playgroud)

该文件夹不存在。我认为您发布的文件夹结构是错误的。

不管怎样,试试这个:

require('../vendor/autoload.php');
Run Code Online (Sandbox Code Playgroud)