我知道这个问题已经发布了很多次,但对我来说,这似乎是一个不同的问题。

事实上,这个错误

在C:\xampp\htdocs\site_web\send_mail.php第3行中没有这样的文件或目录 致命错误:require():在C:\xampp\htdocs\site_web\send_mail.php第3行打开required 'vendor/autoload.php' (include_path='C:\xampp\php\PEAR')失败

从这一行开始出现在我的代码中:

require 'vendor/autoload.php';

所以,我猜在我的计算机中一定有一个/vendor/autoload.php文件(我已经安装了composer并运行composer require phpmailer/phpmailer)。

所以,我在Windows命令行中使用:dir /s autolload .php查找这个文件,并在这里找到了一个:C:\Windows\SysWOW64\vendor\ autolload .php,

但对我来说,syswow64文件夹没有看到autoload.php,我没有看到我在这里遗漏了什么。


当前回答

@Bashir几乎帮了我,但我需要:

composer update --no-scripts

显然,这可以防止在执行artisan之前包含任何脚本。

我在这页的中间找到了答案: https://laracasts.com/discuss/channels/general-discussion/fatal-error-class-illuminatefoundationapplication-not-found-in-pathtoprojectbootstrapappphp-on-line-14?page=0

其他回答

如果在运行时也得到错误

composer install

先运行这个命令

composer dump-autoload

该命令将清除所有已编译文件及其路径。

如果您有一个克隆的存储库,并试图在发生这种类型的错误时进行设置,那么根目录中将需要一个名为“vendor”的目录。

".gitingore"文件已经写了代码,不包括供应商目录在GIT上,所以克隆GIT后,你的项目面临的问题是缺少供应商目录。

添加供应商目录后,项目将重新开始工作。

出现此错误是因为缺少一些文件,主要原因是“Composer”

首先在CMD中运行这些命令

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

然后 创建一个新项目 例子:

D:/Laravel_Projects/New_Project
laravel new New_Project

之后,启动服务器使用

php artisan serve

在你的项目文件夹中,供应商文件夹丢失了,所以你得到了这个错误:

提示:require(vendor/autoload.php): failed to open stream:没有这样的文件或目录

当您通过git下载项目时,该项目将在没有供应商文件夹的情况下下载

你需要/vendor,因为你所有的包都在那里,包括Laravel使用的所有类。供应商目录包含您的Composer依赖项。

解决方法很简单,只需执行以下命令:

composer update --no-scripts 
composer update

它将跳过composer中定义的脚本的执行。json文件。 它会更新你在composer中指定的依赖项。json文件。

使用此命令,您将在项目中重新创建供应商文件夹,之后项目将开始正常工作。

修改php.ini中的auto_prepend_file属性

; Automatically add files before PHP document. 
;http://php.net/auto-prepend-file 
auto_prepend_file =