У меня есть проект, я использую Composer, и я им импортирую много вещей … Мне нужен autoload.php в моем индексе (корень проекта) и istead Slim, Mongo, Twig работают очень хорошо. Но когда я называю класс Respect / Validation, он не работает; если я просто использую 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)
Если вы используете файл ( file.php
) в определенном каталоге, например:
/app/controller/validation
и каталог вашего поставщика находится в базовом пути проекта, вам необходимо включить относительный путь к каталогу поставщика:
../../../vendor/autoload.php
Попробуйте использовать php composer dump-autoload
. Это может решить эту проблему.
Я сделал это. Я всегда проверял файл и разрешения, но все выглядит нормально. Затем я открываю autoload.php и вижу … о! у нас есть __DIR__.
Я делал это
require '../../vendor.autoload.php';
Изменился на
require __DIR__.'../../vendor.autoload.php';
Не политически корректно, но вызвало у меня отвратительную трату времени на данный момент.
Конечно, есть лучшие альтернативы __DIR__
например, использование BASE Path и т. д. Но это сработало для меня.
У меня была такая же проблема с xampp. Я установил композитор и использовал:
composer create-project --stability=dev --prefer-dist yiisoft/yii2-app-basic D:\xampp\htdocs\newapp
Моя проблема решена сейчас.
У меня была та же проблема, и я решил ее использовать последнюю версию laravel, просто попробуйте этот код, чтобы создать свой проект:
composer create-project laravel/laravel exampleProject --prefer-dist
это всегда использует последнюю версию.
Я решил просто перезапустить обновление композитора из проекта Root. (мой случай был на Magento2, но ошибка и путь совпадают)
В моем случае я просто забыл изменить свою рабочую директорию, прежде чем запускать команду composer require cboden/ratchet
в cmd, это исправлено. cd c:\path to project\
then composer require cboden/ratchet