我有一个项目,我使用Composer,我通过它导入了很多东西……我需要在我的索引(项目的根)中自动加载.php,istead Slim、Mongo、Twig工作得很好。但当我称之为"尊重/验证"课程时,它并不起作用;如果我只是使用尊重/验证,错误是:
Class 'RespectValidationValidator' 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:xamppphpPEAR') in (path of file when i need it)
尝试使用php composer dump-autoload
。它可能会解决这个问题。
如果您在如下特定目录中使用文件(file.php
):
/app/controller/validation
并且您的供应商目录在项目的基本路径中,您需要包括供应商目录的相对路径:
../../../vendor/autoload.php
我做到了。我一如既往地检查了文件和权限,但一切看起来都很好。然后我打开autoload.php,看到。。。哦我们当然有__DIR__
。
我在做这个
require '../../vendor.autoload.php';
已更改为
require __DIR__.'../../vendor.autoload.php';
这在政治上并不正确,但让我沮丧地浪费了时间。
当然,__DIR__
还有更好的替代方案,比如使用BASE Path等。但这对我来说很有效。
我在使用xampp时遇到了同样的问题。我安装了composer并使用了:
composer create-project --stability=dev --prefer-dist yiisoft/yii2-app-basic D:xampphtdocsnewapp
我的问题现在解决了。
我遇到了同样的问题,我使用最后一个版本的laravel解决了它,只需尝试以下代码来创建您的项目:
composer create-project laravel/laravel exampleProject --prefer-dist
这总是使用最后一个版本。
我从项目Root解决了简单的重新运行composer更新。(我的案例是在Magento2上,但错误和路径相同)
在我的情况下,我只是忘记在cmd中运行命令composer require cboden/ratchet
之前更改工作目录,这修复了cd c:path to project
,然后是composer require cboden/ratchet