我试图在Laravel应用程序中使用此软件包:github.com/pagseguro/php(由于一些必要的更改,实际上是我的存储库中的一个分支)。
它根本没有命名空间,它使用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
这适用于我的localhost环境,但不在我的远程服务器中。两者都有相同的文件(使用git pull
和composer install --prefer-source --no-interaction --no-dev --no-progress
),我在两者中都运行composer dump-autoload
。
有什么想法吗?感谢。
编辑:
通过运行大多数编写器命令(status,clearcache,diagnose)然后从composer.json
删除包,更新,添加包并再次运行更新来修复它。