【问题标题】:Paypal + FB API installed via Composer. Autoload broken?通过 Composer 安装的 Paypal + FB API。自动加载坏了?
【发布时间】:2017-03-22 13:01:09
【问题描述】:

我首先使用 Composer 安装了 PayPal API,并设法让 PHP 代码正常工作:

<?php

$paypal = new \PayPal\Rest\ApiContext(
    new \PayPal\Auth\OAuthTokenCredential(
    'xxx', 
    'xxx')
);

?>

我将它添加到 Index.php 页面

require_once __DIR__ . '/vendor/autoload.php';

正如我所说,这曾经有效。然后我使用以下 Composer Json 文件安装了 FB API:

{
    "require": {
        "paypal/rest-api-sdk-php": "1.10.0",
        "facebook/graph-sdk" : "~5.0"
    }
}

FB 正在运行,但我似乎无法再使用 PayPal API。我删除了整个供应商目录并再次将其上传到服务器上。 vendor/autload.php 文件如下所示:

<?php

// autoload.php @generated by Composer

require_once __DIR__ . '/composer' . '/autoload_real.php';

return ComposerAutoloaderInit303a6e73ffa85ad916995f78100e5117::getLoader();

首先我不知道为什么文件不以?&gt; 结尾?这正常吗?

当我尝试调用我的 paypal.php 文件时,我收到了臭名昭著的错误:

 Uncaught Error: Class 'PayPal\Rest\ApiContext' not found in ...

【问题讨论】:

  • 我不知道这里出了什么问题,但是 PHP 文件缺少关闭 ?&gt; 是完全可以的。事实上,这被许多开发人员认为是仅 PHP 文件的最佳实践。例如,请参阅PSR-2
  • Olga 在stackoverflow.com/questions/39400764/… 中描述了一个可行的解决方案。

标签: php composer-php autoload


【解决方案1】:

一定要加上:

require_once __DIR__ . '/vendor/autoload.php';

到文件。添加到 index.php 显然是不够的。它需要插入到使用 API 函数的 paypal.php 文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-26
    • 2017-01-26
    • 2017-03-23
    • 2014-09-12
    • 2017-09-02
    • 2014-12-19
    • 2023-03-10
    相关资源
    最近更新 更多