Я пытаюсь использовать этот пакет: github.com/pagseguro/php (фактически, вилка в моих репозиториях из-за некоторых необходимых изменений) в приложении Laravel.
Это вовсе не пространство имен и оно автоматически загружается с помощью classmap:
"autoload": { "classmap": ["source/PagSeguroLibrary"] },
vendor / composer / autoload_classmap.php имеет все классы, например:
'PagSeguroPaymentRequest' => $vendorDir . '/hfingler/php/source/PagSeguroLibrary/domain/PagSeguroPaymentRequest.class.php',
Класс init ( PagSeguroLibrary::init();
) работает, но как только мне нужен другой класс, я получаю сообщение об ошибке:
$paymentRequest = new PagSeguroPaymentRequest(); PHP Fatal error: Class 'PagSeguroPaymentRequest' not found in eval()'d code on line 1
Это работает в моей локальной среде, но не на моем удаленном сервере. Оба имеют одинаковые файлы (с использованием git pull
и composer install --prefer-source --no-interaction --no-dev --no-progress
), и я запустил composer dump-autoload
в обоих.
Есть идеи? Благодарю.
Исправлено: исправлено большинство команд композитора (статус, clearcache, диагноз), затем удаляется пакет из composer.json
, обновляется, снова добавляется пакет и выполняется обновление.