require(vendor/autoload.php): failed to open stream
我知道这个问题已经发布了很多次,但对我来说似乎是一个不同的问题。
确实,这个错误
Warning: require(vendor/autoload.php): failed to open stream: No such file or directory in C:\xampp\htdocs\site_web\send_mail.php on line 3
Fatal error: require(): Failed opening required 'vendor/autoload.php' (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\site_web\send_mail.php on line 3
出现在我的代码开头的这一行:
1 | require 'vendor/autoload.php'; |
因此,我想我的计算机中一定有一个/vendor/autoload.php文件(我已经安装了作曲器并运行
因此,我在Windows命令行中使用
但是对我而言,syswow64文件夹与autoload.php无关,我看不到这里缺少的内容。
您所缺少的是运行
确保您的相对路径正确。例如,PHPMailer中的示例脚本位于项目根目录下的
您在
我经常看到有人抱怨人们不能使用作曲家,因为他们不能在服务器上运行它(例如,因为它是共享的并且没有外壳访问权限)。在这种情况下,您仍然可以使用composer:在本地运行(没有这种限制的环境),然后上载它与所有其他PHP脚本一起生成的本地供应商文件夹。
如果在运行时也收到错误
1 | composer install |
只需先运行此命令
1 | composer dump-autoload |
该命令将清除所有编译文件及其路径。
@Bashir几乎帮助了我,但我需要:
1 | composer update --no-scripts |
我在这里找到了答案:
https://laracasts.com/discuss/channels/general-discussion/fatal-error-class-illuminatefoundationapplication-not-found-in-pathtoprojectbootstrapappphp-on-line-14?page=0
首先,请确保您已经安装了作曲家。
1 | composer install |
如果已经安装,则更新作曲家。
1 | composer update |
正确的
A)快速解答:
您的autoload.php路径错误。即。
迄今为止:您需要将其更改为:
B)示例步骤:
我们将以facebook / php-graph-sdk为例。根据需要更改为
+ R +类型C)更多细节:
在Windows上安装composer将为您的pacakges设置此默认路径。您可以在此处找到它们并包含自动加载器路径:
1 | C:\Users\<Windows User Name>\vendor |
对于您问的相同问题;答案是Windows的WAMP Server 64 BIT的路径。
然后只需在您的PHP应用程序中更改此内容:
1 | require_once __DIR__ . '/vendor/autoload.php'; |
至:
1 | require_once 'C:\Users\<Windows User Name>\vendor\autoload.php'; |
在
如B)前面所述,在此之前,您需要运行以下命令:
1 | composer require <package name> |
以facebook php SDK为例:
1 | composer require facebook/graph-sdk |
感谢您提出这个问题;非常感谢,因为它可以帮助我解决类似的问题,并结束了本简单教程的编写。
当我从git克隆项目并想第一次运行时,这个问题发生了。我在目录中运行了
如果您是从Github克隆项目或从其他地方获得项目,则将遇到此错误。那是因为您缺少供应商文件夹和其他文件。供应商文件夹包含与您的项目有关的软件包。软件包依赖关系存储在
只需运行以下命令即可解决此错误:
然后,您将获得项目所需的所有资产。
运行
我的机器上有以下路径:
1 | C:/xampp5.0/htdocs/project-recordando-symfony/project-recordando-symfony |
然后我运行
1 | ErrorException ZipArchive::extractTo... |
该错误是因为您的路径太长,我更改为:
1 | C:/xampp5.0/htdocs/p-symfony/* |
和工作!
在您的项目文件夹中,缺少供应商文件夹,因此出现以下错误:
Warning: require(vendor/autoload.php): failed to open stream: No such file or directory in
当您通过git下载项目时,下载的项目没有供应商文件夹
您需要
解决方法很简单,只需运行以下命令:
1 2 | composer update --no-scripts composer update |
-
composer update --no-scripts 它将跳过在composer.json 文件中定义的脚本的执行。 -
composer update 它将更新composer.json 文件中指定的依赖关系。
使用此命令,您将在项目中重新创建vendor文件夹,然后项目将开始正常工作。
首先,查看index.php内的路由
1 2 3 | require __DIR__.'/../vendor/autoload.php'; $app = require_once __DIR__.'/../bootstrap/app.php'; |
在我的情况下,该路由不起作用,我必须查看目录。
我可以通过删除作曲家并重新安装正确的方法来解决。这是我所做的:
- sudo apt删除作曲家
- sudo apt自动清除&& sudo apt autoremove
-
按照以下说明进行全局安装:https://getcomposer.org/doc/00-intro.md
从以下位置下载:https://getcomposer.org/installer
全局安装:mv composer.phar / usr / local / bin / composer
(注意:我必须将我的移动到mv composer.phar / usr / bin / composer)
然后,我得以重新安装作曲家。在此问题的底部找到了我的答案:https://github.com/composer/composer/issues/5510
使用ex的必需库创建composer.json文件:
1 2 3 4 5 | { "require": { "mpdf/mpdf":"^6.1" } } |
在composer.json存在的地方执行以下命令:
1 | composer install |
如果是Drupal:
使用drupal的Web根文件夹包含ex的自动加载功能:
1 2 | define('DRUPAL_ROOT', getcwd()); require_once DRUPAL_ROOT . '/vendor/autoload.php'; |
对于其他系统:
使用根文件夹变量或位置来包含autoload.php
如果您有克隆的存储库并尝试设置该时间,则将在根目录中存在一个名为" vendor"的目录,并尝试设置该时间。
" .gitingore"文件已编写了不包含GIT上供应商目录的代码,因此在克隆GIT之后,您的项目将面临缺少供应商目录的问题。
添加供应商目录后,您的项目将再次开始工作。
更改php.ini上的auto_prepend_file属性
1 2 3 | ; Automatically add files before PHP document. ;http://php.net/auto-prepend-file auto_prepend_file = |