【问题标题】:php artisan serve can't find the autoload.phpphp artisan serve 找不到 autoload.php
【发布时间】:2018-11-10 22:33:09
【问题描述】:

解决方案: laravel new project-name 实际上给了我一个我忽略的错误。我有错误的php版本。它需要 phpv7.1.3 或更高版本。如果你没有它,它就不起作用。

遇到另一个问题:

  • 我有一个指向旧版本 php 的系统环境变量
  • laravel 还需要 openssl 扩展和 mbstring 才能打开。从 php.ini 中取消注释

对于新手:如果您刚刚下载了 php 并解压缩了文件。它包含一个名为

的文件

安装.txt

必须阅读。它解释了一切。

我从他们的入门页面运行laravel new blog。当我尝试运行php artisan serve 时,出现以下错误:

警告:require(C:\Projects\laravel-projects\blog/vendor/autoload.php): failed to open stream: No such file or directory in C:\Projects\laravel-projects\blog\artisan on line 18

工匠文件指向

require __DIR__.'/vendor/autoload.php';

此目录不存在。即使我将它指向正确的目录,它仍然无法工作,因为我没有该文件夹的读取权限(因此它被拒绝)。

发生了什么,我该如何解决?

编辑:将上面提到的网址更改为:

C:\Users\sarkis\AppData\Roaming\Composer\vendor\autoload.php

出于某种原因,这非常有效。 现在。出现新错误

致命错误:未捕获的错误:在 C:\Projects\laravel-projects\blog\bootstrap\app.php:14 中找不到类 'Illuminate\Foundation\Application' 堆栈跟踪:#0 C:\Projects\laravel-projects\blog\artisan(21): require_once() #1 {main} 在第 14 行的 C:\Projects\laravel-projects\blog\bootstrap\app.php 中抛出

发现我没有所需的正确版本的 php。

【问题讨论】:

  • 你运行 composer install 了吗?
  • 是的,我做到了,供应商文件没有使用 Windows 10 btw 显示
  • @CharbelSarkis 更改安装目录的权限...您需要拥有、读取、写入、修改和在本地运行也需要执行...然后运行 ​​composer install 一切都应该没问题...
  • 您运行的是 WAMPP/XAMPP 还是 ISS?
  • Wamp。我有 wamp 和 xampp,我应该使用它们。

标签: php laravel laravel-artisan


【解决方案1】:
  1. 首次安装 Composer:composer install
  2. 然后在 CMD 提示符下运行命令:composer dump-autoload

【讨论】:

  • 我有作曲家。我就是这样安装 laravel composer global require laravel/installer
  • @Charbel 好吧,该命令不会安装作曲家,因为您当然没想到能够通过作曲家安装作曲家,是吗?这将使用 composer 和项目根路径中的 composer.json 文件为您的项目安装由于某种原因丢失的所有“依赖项”。所以只需这样做:在项目的根路径中,运行composer install。请记住,您必须在项目的 composer.json 文件所在的路径中运行它,在这种情况下,它将始终是您的 laravel 项目的根目录。它将下载并安装所有依赖项。是的
  • @arm 这不是问题。显然,从那个时间点开始,laravel 需要 php 7.2。我有一个更旧的版本。
【解决方案2】:

尝试运行 composer dump-autoload ,然后运行 ​​composer install

如果这不起作用,请尝试 composer update --no-scripts

【讨论】:

  • Generating optimized autoload files Class Illuminate\Foundation\ComposerScripts is not autoloadable, can not call post-autoload-dump script > @php artisan package:discover Fatal error: Class 'Illuminate\Foundation\Application' not found in C:\Projects\laravel-projects\blog\bootstrap\app.php on line 14 Script @php artisan package:discover handling the post-autoload-dump event returned with error code 255
  • 这是我从composer dump-autoload得到的错误
  • php artisan serve 运行此命令后Fatal error: Class 'Illuminate\Foundation\Application' not found in C:\Projects\laravel-projects\blog\bootstrap\app.php on line 14
  • 然后查看这篇文章 -> stackoverflow.com/questions/29764368/…
【解决方案3】:

我是 Laravel 新手,对命令也有同样的困惑:

laravel new blog

没有供应商文件夹。

但我试过之后:

composer create-project --prefer-dist laravel/laravel blog

我发现供应商文件夹出现了。

也不知道为什么。

【讨论】:

    【解决方案4】:

    你可以尝试通过Composer Create-Project安装:

    composer create-project --prefer-dist laravel/laravel blog
    

    【讨论】:

    • 这不会改变文件仍然指向空目录的任何内容。不得不将 url 更改为正确的,并得到一个新的错误
    【解决方案5】:

    运行 laravel 时新建项目名称。它输出需要安装 php 7.1.3 或更高版本的文本。当前版本 5.6 不符合要求。它会中止而没有明显地给你一个错误。请务必下载 php 版本 7.1.3 或更高版本。还要检查您是否有早期版本的 php 的环境变量并删除它们。

    注意:请务必阅读 php 下载中的 install.txt

    【讨论】:

      【解决方案6】:

      检查您对以下文件夹的所有权限并授予 0777 权限

      storage 0777
      vendor 0777
      bootstrap/cache 0777
      

      然后再次运行

      php artisan serve
      

      【讨论】:

      • 他使用 Windows。
      • 我确实拥有文件的权限,只是供应商文件夹不存在,即使它确实需要的实际文件夹位于 appdata/...../vendor/autoload
      猜你喜欢
      • 2018-02-22
      • 2019-12-26
      • 2019-08-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-09
      • 2015-12-27
      • 2020-02-16
      • 2021-03-31
      相关资源
      最近更新 更多