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

事实上,这个错误

在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,我没有看到我在这里遗漏了什么。


您缺少的是运行composer install,它将导入您的包并创建供应商文件夹以及自动加载脚本。

确保您的相对路径正确。例如,PHPMailer中的示例脚本在examples/中,位于项目根目录下,因此从那里加载composer自动加载器的正确相对路径应该是../vendor/autoload.php。

你在C:\Windows\SysWOW64\vendor\ autolload .php中找到的autolload .php可能是一个全局编写器安装,你通常会在其中放置phpcs、phpunit、phpmd等东西。

Composer update不是同一件事,可能不是你想要使用的。如果您的代码是用当前的包版本测试的,那么运行update可能会导致破坏,这可能需要进一步的工作和测试,所以不要运行update,除非您有特定的理由并确切地理解它的含义。为了进一步澄清——你应该只在本地运行composer update,而不是在你的服务器上,因为它很可能会破坏生产中的应用程序。

我经常看到人们抱怨说,他们不能使用composer,因为他们不能在自己的服务器上运行它(例如,因为它是共享的,他们没有shell访问权限)。在这种情况下,您仍然可以使用composer:在本地运行它(一个没有这种限制的环境),并上传它生成的本地供应商文件夹以及所有其他PHP脚本。

运行composer update也会执行composer安装,如果当前没有供应商文件夹(正常情况下,如果您有一个新的项目签出),那么它会创建一个,并覆盖任何composer。锁定您已经拥有的文件,更新其中标记的包版本,这是潜在的危险。

类似地,如果您目前没有作曲家。锁定文件(例如,如果它没有提交到项目中),那么composer install也会有效地执行一个composer更新。因此,理解两者之间的区别至关重要,因为它们肯定是不可互换的。

也可以通过命名来更新单个包,例如:

composer update ramsey/uuid

这将重新解析编写器中指定的版本。并将其安装到你的供应商文件夹中,并更新你的作曲器。锁定文件以匹配。如果您只需要对一个包进行特定的更新,那么这比一般的编写器更新更不可能引起问题。

库中不包含作曲家是很正常的。锁文件自己;修复版本取决于应用程序,而不是它们使用的库。因此,库开发人员需要保持与应用程序开发人员所需要的更广泛的主机环境的兼容性。例如,一个库可能与Laravel 5、6、7和8兼容,但使用它的应用程序可能出于其他原因需要Laravel 8。

Composer 2.0删除了安装和更新结果之间的任何剩余不一致;如果你正在运行composer 1。你一定要升级。


我的机器里有这样的路径:

C:/xampp5.0/htdocs/project-recordando-symfony/project-recordando-symfony

然后我运行composer install或/和composer update,它返回以下错误:

ErrorException ZipArchive::extractTo...

这个错误是因为你的路径太长了,我改成:

C:/xampp5.0/htdocs/p-symfony/*

和工作!


正确的autoload.php配置:

A)快速回答:

您的autoload.php路径错误。ie。C:\Windows\SysWOW64\vendor\ autoload.php 到目前为止:您需要将其更改为:C:\Users\<Windows用户名>\vendor\autoload.php


B)步骤举例: 我们将以facebook/php-graph-sdk为例;请根据需要更改为“Package Name”。

安装composer.exe 打开CMD提示符。+ R +输入CMD 执行如下命令:composer require facebook/graph-sdk 在PHP页面中包含路径:require_once 'C:\Users\<Windows用户名>\vendor\autoload.php'; 为你的包定义配置秘密和访问令牌等等。 codinig快乐。


C)进一步的细节:

在windows上安装composer会为你的包设置这个默认路径;你可以在那里找到它们,并包括自动加载器路径:

C:\Users\<Windows User Name>\vendor

你问的同样的问题;答案是这个WAMP服务器64位Windows的路径。

然后简单地在你的PHP应用程序更改这个:

require_once __DIR__ . '/vendor/autoload.php'; 

To:

require_once 'C:\Users\<Windows User Name>\vendor\autoload.php'; 

在C:\Users\下找到你的windows用户名

在这一切之前,正如前面在B)中指出的,你需要运行这个命令:

composer require <package name>

为facebook的php SDK,例如:

composer require facebook/graph-sdk

谢谢你的提问;感谢它帮助我解决了类似的问题,并结束了编写这个简单的教程。


如果在运行时也得到错误

composer install

先运行这个命令

composer dump-autoload

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


运行编写器更新。就是这样


@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


修改php.ini中的auto_prepend_file属性

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

首先,确保已经安装了编写器。

composer install

如果已经安装,则更新编写器。

composer update

我可以通过删除composer并以正确的方式重新安装来解决。以下是我所做的:

须藤倾向于移除作曲家 Sudo apt自动清除&& Sudo apt自动删除 使用来自:https://getcomposer.org/doc/00-intro.md的说明进行全局安装 下载网址:https://getcomposer.org/installer 全局安装:mv作曲器。phar /usr/local/bin/composer (注意:我不得不把我的mv作曲家。phar /usr/bin/composer)

然后我就可以重新安装作曲器了。在这个问题的底部找到了我的答案:https://github.com/composer/composer/issues/5510


首先,检查index.php中的路由

require __DIR__.'/../vendor/autoload.php';

$app = require_once __DIR__.'/../bootstrap/app.php';

在我的情况下,这条路线行不通,我不得不重新查看目录。


如果你从Github克隆了你的项目,或者从其他地方得到了它,你会遇到这个错误。这是因为您缺少供应商文件夹和其他文件。vendor文件夹包含依赖于项目的包。包依赖项存储在composer中。json文件和文件夹被排除,而推到Github。

通过简单地运行以下命令来修复此错误:

作曲家安装

然后,您将获得项目所需的所有资产。


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

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

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

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

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

composer update --no-scripts 
composer update

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

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


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

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

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


创建作曲家。Json文件,包含ex所需的库:

{
    "require": {
        "mpdf/mpdf": "^6.1"
    }
}

在composer. where执行以下命令。json:

composer install

以Drupal为例:

使用drupal的web根文件夹来包含自动加载ex:

define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/vendor/autoload.php';

对于其他系统: 使用根文件夹变量或位置来包含autoload.php


对我来说 先运行这个命令

composer dump-autoload

添加供应商文件夹。

然后执行以下命令

composer update --no-scripts

更新编写器。


出现此错误是因为缺少一些文件,主要原因是“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

在linux中首先添加github个人访问令牌

导航到GitHub的个人访问令牌页面。 点击“生成新令牌”按钮。 输入一些有意义的“注释”,选择“回购”作为范围,并点击“生成令牌”按钮。 记下这个标记。

5在终端输入新的“个人访问令牌”

export COMPOSER_AUTH='{"github-oauth":{"github.com":"AB8cd4cab23a9d5399934a7d7698d3fa74e9cfAB"}}'

在终端编写器安装中运行


在我的情况下,这是由于没有完全安装项目,因为我没有足够的空间在我的硬盘上