在 Laravel 5 中打开 autoload.php 失败
Posted
技术标签:
【中文标题】在 Laravel 5 中打开 autoload.php 失败【英文标题】:Failed Opening autoload.php in Laravel 5 【发布时间】:2019-05-30 16:23:42 【问题描述】:我最近通过 Composer 安装了 Laravel,但我不断收到以下错误:
警告: 要求(/home/leovoon/public_html/laravel-eee/bootstrap/../vendor/autoload.php): 无法打开流:中没有这样的文件或目录 /home/leovoon/public_html/laravel-eee/bootstrap/autoload.php 上线 17
致命错误:require():需要打开失败 '/home/leovoon/public_html/laravel-eee/bootstrap/../vendor/autoload.php' (include_path='.:/opt/cpanel/ea-php71/root/usr/share/pear') 在 /home/leovoon/public_html/laravel-eee/bootstrap/autoload.php 上线 17
我错过了什么吗?因为我是一步步跟着的。
【问题讨论】:
能否提供目录结构的截图 @Manojkiran.A 添加 授予文件夹读写权限。 不在本机请提供网络服务器截图 @Manojkiran.A 更新 【参考方案1】:使用 --no-scripts 运行 composer
composer update --no-scripts
这将解决问题。
【讨论】:
警告:require_once(C:\xampp\htdocs\Laravel-Lumen-API-master\bootstrap/../vendor/autoload.php):无法打开流:没有这样的文件或目录C:\xampp\htdocs\Laravel-Lumen-API-master\bootstrap\app.php 在第 3 行致命错误:require_once(): Failed opening required 'C:\xampp\htdocs\Laravel-Lumen-API-master\bootstrap /../vendor/autoload.php' (include_path='C:\xampp\php\PEAR') 在 C:\xampp\htdocs\Laravel-Lumen-API-master\bootstrap\app.php 第 3 行跨度> 运行脚本后问题依旧【参考方案2】:您必须为您的项目提供读写权限,并在您的 .env 文件中生成密钥
在你的项目目录中运行以下命令,你会很高兴:
$ sudo chmod -R 777 /storage /public /bootstrap
$ composer install
$ php artisan key:generate
【讨论】:
你应该使用 755,而不是 777!【参考方案3】:您收到一个错误,因为您的项目中缺少 vendor 文件夹,您需要 /vendor
因为您的所有包都在那里,包括 Laravel 使用的所有类。供应商目录包含您的 Composer 依赖项。
执行此步骤后可以解决您的问题。你可以试试:
composer update --no-scripts
composer update
使用此命令,您将在您的项目中重新创建 vendor 文件夹,之后您的项目将开始正常工作。
【讨论】:
【参考方案4】:上线时这是我的项目结构
注意:在执行此操作时,您可能会遇到一些样式和 javascript 引用错误
如果您是 USNIG ASSET FUNCTION
无需担心
<link href=" asset('css/app.css') " rel="stylesheet">
但如果不是,在某些情况下会出现 404
这只是举例
Step 1 : create a folder named as `ProjectFiles` in root of your application
Step 2: copy all the contents except and folder except `public` folder and paste inside `ProjectFiles` folder
Step3: now cut and paste all the contents inside the public folder in root of your application root
第 4 步:打开您的 index.php
文件并进行以下更改
require __DIR__.'/../vendor/autoload.php';
到
require __DIR__.'/ProjectFiles/vendor/autoload.php';
与
$app = require_once __DIR__.'/../bootstrap/app.php';
到
$app = require_once __DIR__.'/ProjectFiles/bootstrap/app.php';
然后将您的项目上传到实时 cpanel 服务器
这是我的 cpanel 服务器目录结构
如果答案不清楚,希望对您有所帮助,如果错误仍然存在,请在下方评论
【讨论】:
【参考方案5】:尝试使用php artisan serve
启动开发服务器后出现此错误
我就是这样解决的:
-
运行
composer install
如果您收到“您的需求无法解析为一组可安装的软件包”之类的错误,请确保您在 php.ini 配置中启用了必要的扩展。
就我而言,我需要启用extension=fileinfo
-
运行
composer update
。在此之后,您应该能够无错误地启动服务器。
【讨论】:
以上是关于在 Laravel 5 中打开 autoload.php 失败的主要内容,如果未能解决你的问题,请参考以下文章
LARAVEL:main():打开失败需要'vendor\autoload.php'
警告:无法打开流:第 17 行的 C:\wamp\www\laravel\bootstrap\autoload.php 中没有这样的文件或目录
什么原因'警告:require(C:\wamp64\www\laravel\bootstrap/../vendor/autoload.php) 无法打开流:
Laravel 5.3 PHP Artisan 不工作 PHP 警告:需要(bootstrap/../vendor/autoload.php)