autoload.php 在那里时丢失

Posted

技术标签:

【中文标题】autoload.php 在那里时丢失【英文标题】:autoload.php missing when its there 【发布时间】:2018-12-27 15:42:55 【问题描述】:

我已经开始了一个新的 Laravel 项目并想在我的本地主机上测试它...... 当我查看该网站时,我收到一条错误消息:

警告: 要求(C:\xampp\htdocs\public/../Website/vendor/autoload.php):失败 打开流:没有这样的文件或目录 C:\xampp\htdocs\Website\public\index.php 第 24 行致命错误: require():需要打开失败 'C:\xampp\htdocs\Website\public/../Website/vendor/autoload.php' (include_path='C:\xampp\php\PEAR') 在 C:\xampp\htdocs\Website\public\index.php 第 24 行

我查了一下,但我在所有文件夹中都找到了 autoload.php 文件,并且我已经尝试过composer update --no-scrips。我只是不明白为什么它没有加载项目。

“网站”是我的 Laravel 项目文件夹的名称。

【问题讨论】:

你的 DIR 结构是什么? Laravel 5 Failed opening required bootstrap/../vendor/autoload.php的可能重复 尝试删除composer.lock文件,然后执行update composer,然后重试。 index.phpWebsite\public\index.php 下,但您正在寻找public/../Website/vendor/autoload.php 下的自动加载,它转换为Website/Website/vendor/autoload.php,看起来不对。 如果您修改了 index.php ,就会发生这种情况。 the original one 执行 require __DIR__.'/../vendor/autoload.php' 这是正确的路径。将您拥有的内容与源代码进行比较,看看一切是否正确 【参考方案1】:

感谢apokryfos,我解决了这个问题。 在自动加载文件中 DIR.'/../vendor/autoload.php' 更改为 DIR.'/../Website/vendor/autoload.php'这是错误的道路。我不知道这是怎么发生的,但简单地删除“网站/”似乎可以解决问题。 再次感谢apokryfos。

【讨论】:

【参考方案2】:

原来我没有在我的 php.ini 中启用 openssl,所以当我使用 composer 创建新项目时,它是从源代码安装的。我改变了它并跑了

composer update

现在供应商文件夹已创建

【讨论】:

以上是关于autoload.php 在那里时丢失的主要内容,如果未能解决你的问题,请参考以下文章

安装 Sylius 时出错:“PHP 致命错误:require():无法打开所需的 autoload.php”

打开失败需要'../vendor/autoload.php'

如何在 composer 和 /vendor/autoload.php 之前加载文件?

PHP中spl_autoload_register函数的用法

Symfony 2,autoload.php 在错误的目录中生成

在 Laravel 5 中打开 autoload.php 失败