laravel 警告:要求(...):无法打开流:中没有此类文件或目录

jum4pzuy  于 2023-03-04  发布在  其他
关注(0)|答案(5)|浏览(180)

刚刚移动了我的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行是:
需要目录.'/../vendor/autoload.php';
文件夹结构为:

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

有没有人能帮上忙,哪里出了问题?以及如何解决?拔出我的头发,尝试各种路径。
谢谢克雷格。

7uzetpgm

7uzetpgm1#

我强烈认为,一个损坏的缓存是原因,我不能100%肯定,但似乎它很可能是罪魁祸首。
因此,如果有人遇到类似的问题,我建议采取以下步骤:
1.删除供应商文件夹
1.删除编写器.锁定
1.运行命令composer clearcache(或清除缓存)
1.运行composer install
我希望这能帮上忙。

e0bqpujr

e0bqpujr2#

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

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

也就是

public_html/local/vendor/autoload.php

该文件夹不存在。我认为您发布的文件夹结构是错误的。
不管怎样,试试这个:

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

7uhlpewt3#

我遇到过同样的问题,那就是Composer还没有安装在服务器上,所以它在您的项目上创建的目录结构也不存在。
首先你必须在你的服务器上安装composer,按照composer项目网页https://getcomposer.org/上给出的系统说明操作。
接下来,您必须在终端或cmd中转到项目的基本文件夹。
在那里,您可以使用命令行composer init,它将指导您在项目中创建composer.json文件。
创建composer.json文件后,必须执行命令行composer install。
此命令行将创建您在composer.json上编写的所有依赖项,还将创建文件夹结构,以便您需要的代码可以找到正确的路径。
最后,你必须根据你的php文件的当前文件夹结构位置,将重定向引用到文件夹供应商。
如果你要找信息,http://www.phptherightway.com/真的很有帮助。

628mspwn

628mspwn4#

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

zbsbpyhn

zbsbpyhn5#

我有同样的问题时,我已经迁移了drupal网站到新的服务器...为了解决这个问题,我只是用 composer 命令:
1.进入网站目录的第一张CD,EX:cd /var/www/your_website
1.运行composer安装drupal 8依赖项,它需要在网站目录;
composer install
如果您使用sudo命令,请确保.../vendor目录具有正确的权限,可以由/var/www目录中的用户访问;
sudo composer install
这基本上将解决.../public_html/autoload.php on line 14问题!

相关问题