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.php
在Website\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函数的用法