在 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)

在 Laravel 中配置 Autoloader.php [重复]

如何避免在 laravel 4 中使用 php composer dump-autoload?