刚刚在我的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
出现问题的任何帮助?以及如何解决?尝试各种各样的路径,拔掉我的头发。
谢谢,克雷格。
答案 0 :(得分:3)
从错误中可以看出,PHP正在寻找
public_html/local/bootstrap/../vendor/autoload.php`
是
public_html/local/vendor/autoload.php
该文件夹不存在。我认为你发布的文件夹结构是错误的。
无论如何,试试这个:
require('../vendor/autoload.php');
答案 1 :(得分:2)
我遇到了同样的问题,而且还没有在服务器中安装Composer,因此它在项目中创建的目录结构也不存在。
首先,您必须在服务器上安装composer,请按照作曲家项目网页https://getcomposer.org/上提供的系统说明进行操作。
接下来,您必须进入终端或cmd到项目的基本文件夹。
您可以使用命令行编辑器init,它将指导您将composer.json文件创建到项目中。
创建composer.json文件后,必须执行命令行编辑器安装。
此命令行将创建您在composer.json上编写的所有依赖项,并且还将创建文件夹结构,以便您需要的代码将找到正确的路径。
最后,您必须根据php文件的当前文件夹结构位置引用重定向到文件夹供应商。
如果您查找信息,http://www.phptherightway.com/确实非常有用。
答案 2 :(得分:2)
我坚信腐败的缓存是原因,我不能百分百肯定,但似乎它可能是罪魁祸首。
因此,如果有人遇到类似问题,我建议采取以下步骤:
我希望这可以帮助别人。
答案 3 :(得分:0)
只需运行以下命令,它将自动安装必要的依赖项:
composer install
答案 4 :(得分:0)
当我将drupal网站迁移到新服务器时,我遇到了同样的问题... 为了解决这个问题,我刚使用了composer命令:
首先进入网站目录,EX:
cd /var/www/your_website
运行composer来安装网站目录中需要的drupal 8依赖项;
composer install
如果您使用sudo命令,请确保.../vendor
目录具有/var/www
目录中的用户可以访问的权限;
sudo composer install
这基本上可以解决.../public_html/autoload.php on line 14
问题!