Почему мой autoload.php композитора не работает?
У меня есть проект, я использую 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)
Ответы
Ответ 1
Если вы используете файл (file.php
) в определенном каталоге, например:
/app/controller/validation
и каталог вашего поставщика находится в базовом пути проекта, вам необходимо указать относительный путь к каталогу поставщика:
../../../vendor/autoload.php
Ответ 2
Попробуйте использовать php composer dump-autoload
. Это может решить эту проблему.
Ответ 3
Я сделал это.
Я всегда проверял файл и разрешения, но все выглядит нормально. Затем я открываю autoload.php и вижу... о! мы имеем __DIR__
, конечно.
Я делал это
require '../../vendor.autoload.php';
Изменено на
require __DIR__.'../../vendor.autoload.php';
Не политически корректно, но вызвало разочарование траты времени на данный момент.
Конечно, есть лучшие альтернативы __DIR__
как использование BASE Path и т.д. Но это сработало для меня.
Ответ 4
У меня была такая же проблема с xampp. Я установил композитор и использовал:
composer create-project --stability=dev --prefer-dist yiisoft/yii2-app-basic D:\xampp\htdocs\newapp
Теперь моя проблема решена.
Ответ 5
У меня была такая же проблема, и я решил ее, используя последнюю версию laravel, просто попробуйте этот код для создания вашего проекта:
composer create-project laravel/laravel exampleProject --prefer-dist
это всегда использует последнюю версию.
Ответ 6
Я решил просто перезапустить обновление композитора из проекта Root.
(мой случай был на Magento2, но ошибка и путь те же)
Ответ 7
В моем случае я просто забыл изменить свой рабочий каталог перед запуском команды composer require cboden/ratchet
в cmd, это исправило его cd c:\path to project\
, затем composer require cboden/ratchet
Ответ 8
Сала. Я решаю проблему без какой-либо install
или update
composer
и просто перемещая require_once
из подкласса на main page
.
require_once 'vendor/autoload.php';