22

我有一个项目,我使用 Composer 并通过它导入很多东西......我需要在我的索引(项目的根目录)中使用 autoload.php,并且 istead Slim、Mongo、Twig 工作得很好。但是当我调用一个 Respect/Validation 类时它不起作用;如果我只是使用尊重/验证错误是:

Class 'Respect\Validation\Validator' not found in (path of file when i need it).

如果我尝试在这里也要求 autoload.php 错误是:

**Warning**: require_once(vendor/autoload.php): failed to open stream: No such file or directory in (path of file when i need it)

**Fatal error**: require_once(): Failed opening required 'vendor/autoload.php' (include_path='.;C:\xampp\php\PEAR') in (path of file when i need it)

4

8 回答 8

23

尝试使用php composer dump-autoload. 它可能会解决这个问题。

于 2013-08-19T11:31:08.950 回答
20

file.php如果您在特定目录中使用文件 ( ),如下所示:

/app/controller/validation

并且您的供应商目录位于项目的基本路径中,您需要包含供应商目录的相对路径:

../../../vendor/autoload.php
于 2013-08-19T13:46:39.850 回答
8

我这样做了。我像往常一样检查了文件和权限,但一切看起来都很好。然后我打开 autoload.php 看看……哦!我们当然有__DIR__

我在做这个

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

变成

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

政治上不正确,但让我暂时浪费了令人沮丧的时间。

当然有更好的选择,__DIR__比如使用基本路径等。但这对我有用。

于 2014-02-07T18:22:10.453 回答
0

我从项目根解决了简单的重新运行作曲家更新。(我的案例是在 Magento2 上,但是错误和路径是一样的)

于 2016-09-05T09:43:35.727 回答
0

install我没有任何或update的解决问题composer,只是通过require_once从子类移动到main page.

require_once 'vendor/autoload.php';
于 2019-01-31T19:47:57.020 回答
0

在我的情况下,我只是忘记在 cmd 中运行命令之前更改我的工作目录,然后composer require cboden/ratchet修复它cd c:\path to project\composer require cboden/ratchet

于 2017-04-30T17:18:42.527 回答
0

我对 xampp 有同样的问题。我安装了作曲家并使用:

composer create-project --stability=dev --prefer-dist yiisoft/yii2-app-basic D:\xampp\htdocs\newapp

我的问题现在解决了。

于 2016-01-04T07:00:40.947 回答
0

我遇到了同样的问题,我使用最新版本的 laravel 解决了这个问题,只需尝试以下代码来创建您的项目:

composer create-project laravel/laravel exampleProject --prefer-dist

这总是使用最后一个版本。

于 2016-07-02T15:34:03.950 回答