Как отлаживать автозагрузчик PHP composer

Я пытаюсь использовать библиотеку php HiPay. Я установил библиотеку с:

composer require hipay/hipay-fullservice-sdk-php

В результате получается каталог поставщика с библиотекой HiPay. На моей странице order.php я использую

<?php
namespace TokenizationExample;

require __DIR__ . '/config/credentials.php';
require __DIR__ . '/vendor/autoload.php';

$config = new \HiPay\Fullservice\HTTP\Configuration\Configuration($credentials['private']['username'], $credentials['private']['password']);

но я получаю ошибку Class Not Found на

$config = new \HiPay\Fullservice\HTTP\Configuration\Configuration($credentials['private']['username'], $credentials['private']['password']);

Он работает на моем локальном компьютере win 10 с XAMPP, но не работает, когда я загружаю код на свой хостинг. У меня есть проверка на совпадения в именах файлов, но я не могу определить, что не так.

Это ошибка:

Fatal error: Uncaught Error: Class 'HiPay\Fullservice\HTTP\Configuration\Configuration' not found in /home/XXXXX/order.php:8 Stack trace: #0 {main} thrown in /home/XXXXX/order.php on line 8

и каталог поставщика, созданный композитором

каталог производителя из filezilla

но как я могу понять, что не так? И отладить autoload.php? Извините за вопросы новичка. Я новичок в PHP

Обновление 1:

Я сделал «print_r» из автозагрузчика

$autoloader = require __DIR__ . '/vendor/autoload.php';
print_r($autoloader,true)

и получил этот результат от хостинга сайта, где он не работает

Composer\Autoload\ClassLoader Object
(
[prefixLengthsPsr4:Composer\Autoload\ClassLoader:private] =&gt; Array
(
[H] =&gt; Array
(
[HiPay\Fullservice\] =&gt; 18
)

)

[prefixDirsPsr4:Composer\Autoload\ClassLoader:private] =&gt; Array
(
[HiPay\Fullservice\] =&gt; Array
(
[0] =&gt; /home/XXXXX/vendor/composer/../hipay/hipay-fullservice-sdk-php/lib/HiPay/Fullservice
)

)

[fallbackDirsPsr4:Composer\Autoload\ClassLoader:private] =&gt; Array
(
)

[prefixesPsr0:Composer\Autoload\ClassLoader:private] =&gt; Array
(
)

[fallbackDirsPsr0:Composer\Autoload\ClassLoader:private] =&gt; Array
(
)

[useIncludePath:Composer\Autoload\ClassLoader:private] =&gt;
[classMap:Composer\Autoload\ClassLoader:private] =&gt; Array
(
)

[classMapAuthoritative:Composer\Autoload\ClassLoader:private] =&gt;
[missingClasses:Composer\Autoload\ClassLoader:private] =&gt; Array
(
)

[apcuPrefix:Composer\Autoload\ClassLoader:private] =&gt;
)

единственное различие между не работающими и работающими локальными XAMPP-сайтами вывод print_r

[prefixDirsPsr4:Composer\Autoload\ClassLoader:private] =&gt; Array
(
[HiPay\Fullservice\] =&gt; Array
(
[0] =&gt; C:\xampp\htdocs\hipay-example\vendor\composer/../hipay/hipay-fullservice-sdk-php/lib/HiPay/Fullservice
)

)

поэтому я переименовал папку HiPay в hipay, и все работает. Извлеченный урок, используйте «print_r» для отладки вашего автозагрузчика fскп.с.

0

Решение

Код, который вы загрузили на сервер, будет работать в Linux с учетом регистра, но в операционной системе Windows это не имеет значения.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector