警告:require(...):无法打开流:

问题描述 投票:0回答:6

刚刚将我的 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

17号线是:

需要DIR.'/../vendor/autoload.php';

文件夹结构为:

beta.buildsanctuary.com
  -- public_html
  -- subdomains
    -- beta
      -- local
        -- bootstrap
        -- vendor

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

谢谢,克雷格。

php laravel require
6个回答
9
投票

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

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

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

我希望这可以帮助别人。


3
投票

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

public_html/local/bootstrap/../vendor/autoload.php`

这是

public_html/local/vendor/autoload.php

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

无论如何,试试这个:

require('../vendor/autoload.php');

2
投票

我遇到了同样的问题,这是 Composer 尚未安装在服务器中,因此它在您的项目上创建的目录结构也不存在。

首先,您必须在服务器上安装 Composer,请按照 Composer 项目网页上给出的系统说明进行操作,https://getcomposer.org/

接下来,您必须进入终端或 cmd 进入项目的基本文件夹。

您可以使用命令行composer init,它将指导您在项目中创建composer.json文件。

创建composer.json文件后,您必须执行命令行composer安装。

此命令行将创建您在composer.json上编写的所有依赖项,并且还将创建文件夹结构,以便您需要的代码找到正确的路径。

最后,您必须根据 php 文件的当前文件夹结构位置引用到文件夹供应商的重定向。

如果您寻找信息,http://www.phptherightway.com/ 真的很有帮助。


2
投票

只需运行以下命令,它会自动安装必要的依赖项:

作曲家安装


0
投票

尝试在 php.ini 中禁用扩展=套接字


-1
投票

当我将 drupal 网站迁移到新服务器时,我遇到了同样的问题...... 为了解决这个问题,我只是使用了composer命令:

  1. 首先cd进入网站目录,EX:

    cd /var/www/your_website

  2. 运行composer在网站目录中安装所需的drupal 8依赖项;

composer install

如果使用 sudo 命令,请确保

.../vendor
目录具有
/var/www
目录中的用户访问的权限;

sudo composer install

这基本上就解决了

.../public_html/autoload.php on line 14
问题!

© www.soinside.com 2019 - 2024. All rights reserved.