【问题标题】:No vendor/autoload.php file in Laravel folder after installation安装后 Laravel 文件夹中没有 vendor/autoload.php 文件
【发布时间】:2018-09-28 20:19:35
【问题描述】:

我在 Debian 上,我在 XAMPP 的 htdocs 文件夹中安装了 Laravel 5: sudo composer create-project --prefer-dist laravel/laravel laravel5.

然后我使用 sudo /opt/lampp/lampp start 启动了我的 Apache 服务器。

然后,我去了这个地址:http://localhost/laravel5/public

但是我收到了这个错误:

警告:需要(/opt/lampp/htdocs/laravel5/public/../vendor/autoload.php):无法打开流:Aucun fichier ou dossier de ce type in /opt/lampp/htdocs/laravel5/第 24 行的 public/index.php

致命错误:require(): 无法打开所需的 '/opt/lampp/htdocs/laravel5/public/../vendor/autoload.php' (include_path='.:/opt/lampp/lib/php')在 /opt/lampp/htdocs/laravel5/public/index.php 第 24 行

确实,laravel5 文件夹中没有 vendor/autoload.php 文件。这是这个文件夹的树:

laravel5
|-app
| |-...
|-artisan
|-bootstrap
|-composer.json
|-config
| |-...
|-database
| |-...
|-package.json
|-phpunit.xml
|-public
| |-...
|-package.json 
|-readme.md
|-resources
| |-...
|-routes
| |-...
|-server.php
|-storage
| |-...
|-tests
| |-...
|-webpack.mic.js

我做错了什么?

感谢您的帮助。

【问题讨论】:

  • 所有composer依赖都安装了吗,有vendor/autoload.php文件存在吗?
  • 没有,其实public文件夹里只有这几个文件:css(包含app.js的文件夹)、favicon.ico、index.php、js(包含app.js的文件夹)、 robots.txt、web.config
  • 那么你必须发出composer install 命令。编辑:不在公共目录中。在应用程序的根目录中。它是public的一个父目录。
  • 是的,我改变了我的第一篇文章。我会尝试重新安装它。再次感谢您。

标签: laravel laravel-5 xampp composer-php


【解决方案1】:

XAMPP 默认以nobody:nogroup 运行,但您与您的用户一起运行了composer。

你可以的

sudo chown -R nobody:nogroup /opt/lampp/htdocs/laravel5

更改用户和组。

【讨论】:

  • 感谢您的回答。我有执行此命令的特定位置吗?我在/opt/lampp/htdocs/laravel5 试过,但没有用。如果没有sudo,我写的 2 个命令将无法执行。
  • 你也应该在这里使用 sudo。我编辑了答案。启动服务器需要 sudo,因为您没有将它作为服务运行,并且您可能没有正确的权限来执行 /opt/lampp/lampp。您可以按照此答案中的说明解决此问题:askubuntu.com/a/870115
  • 再次感谢您,但我认为这不是权限问题,因为 PHP 运行良好。我应该提到的事实是公用文件夹中确实没有vendor/autoload.php 文件,这让我很生气,因为我不知道为什么它没有正确安装。我在第一篇文章中添加了文件夹的树。
  • composer install了吗?这是一个奇怪的问题,我知道,但由于没有供应商文件夹,看起来它没有在 create-project 上运行。此时我只需将文档根设置为 /home/myuser/xampp 并编辑 xampp 配置以运行为 myuser:myuser
  • 对不起,我只是错过了一些 php 扩展。我安装了包 php7.0-xml 并重新安装了 Laravel,它工作得更好了,http://localhost/laravel5/public 显示了一些东西,但这是一个“UnexpectedValueException”(流或文件“/opt/lampp/htdocs/test-laravel/storage/logs /laravel.log")
【解决方案2】:

您缺少供应商目录。在您的项目目录composer install 中运行此命令。

【讨论】:

    【解决方案3】:

    这必须像文档中那样工作。请阅读要求。大部分情况是php版本不支持安装的laravel版本。

    【讨论】:

      【解决方案4】:

      安装composer,可以在google中搜索composer, 然后你可能需要重启你的电脑, 并在命令 promot 中转到您的 laravel 文件夹并运行 composer install 命令。它将为您创建供应商文件夹和所有其他必需的依赖项

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-25
        • 2017-06-23
        • 2013-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-07
        • 2013-11-13
        相关资源
        最近更新 更多