【发布时间】:2018-11-08 10:12:46
【问题描述】:
我正在尝试使用 HiPay php 库。我安装了这个库:
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']);
但我得到 i Class Not Found 错误
$config = new \HiPay\Fullservice\HTTP\Configuration\Configuration($credentials['private']['username'], $credentials['private']['password']);
它可以在我本地运行 XAMPP 的 win 10 计算机上运行,但是当我将代码上传到我的主机时它不起作用。我检查了电影名称中的不匹配,但我无法发现问题所在。
这是错误:
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
以及作曲家创建的供应商目录
但是我怎样才能找出问题所在?并调试 autoload.php?抱歉新手问题。我是 PHP 新手
更新 1:
我做了一个 aulotloader 的“print_r”
$autoloader = require __DIR__ . '/vendor/autoload.php';
print_r($autoloader,true)
如果它不起作用,则从托管站点获得此结果
Composer\Autoload\ClassLoader Object
(
[prefixLengthsPsr4:Composer\Autoload\ClassLoader:private] => Array
(
[H] => Array
(
[HiPay\Fullservice\] => 18
)
)
[prefixDirsPsr4:Composer\Autoload\ClassLoader:private] => Array
(
[HiPay\Fullservice\] => Array
(
[0] => /home/XXXXX/vendor/composer/../hipay/hipay-fullservice-sdk-php/lib/HiPay/Fullservice
)
)
[fallbackDirsPsr4:Composer\Autoload\ClassLoader:private] => Array
(
)
[prefixesPsr0:Composer\Autoload\ClassLoader:private] => Array
(
)
[fallbackDirsPsr0:Composer\Autoload\ClassLoader:private] => Array
(
)
[useIncludePath:Composer\Autoload\ClassLoader:private] =>
[classMap:Composer\Autoload\ClassLoader:private] => Array
(
)
[classMapAuthoritative:Composer\Autoload\ClassLoader:private] =>
[missingClasses:Composer\Autoload\ClassLoader:private] => Array
(
)
[apcuPrefix:Composer\Autoload\ClassLoader:private] =>
)
不工作和工作的本地 XAMPP 站点 print_r 输出之间的唯一区别是
[prefixDirsPsr4:Composer\Autoload\ClassLoader:private] => Array
(
[HiPay\Fullservice\] => Array
(
[0] => C:\xampp\htdocs\hipay-example\vendor\composer/../hipay/hipay-fullservice-sdk-php/lib/HiPay/Fullservice
)
)
所以我将 HiPay 文件夹重命名为 hipay 并且一切正常。经验教训,使用“print_r”调试您的自动装线机 fckps
【问题讨论】:
-
设置您的
composer.json并运行composer install。它将生成正确的自动加载器 -
Composer 在服务器上不可用。
-
所以下载
composer.phar文件并将其包含在您的构建中。然后php composer.phar install
标签: php composer-php autoloader