【问题标题】:Server 500 Error When Implementing PayPal's REST API SDK in PHP在 PHP 中实现 PayPal 的 REST API SDK 时出现服务器 500 错误
【发布时间】:2013-08-19 09:37:51
【问题描述】:

这是我第一次实施 PayPal SDK,但遇到了一些问题。我完全按照 PayPal 开发者网站 (https://github.com/paypal/rest-api-sdk-php) 上的说明进行操作,但仍然收到 500 错误。

要明确一点:

  1. 从命令提示符中,我将所需的依赖管理器工具 Composer 卷曲到包含将使用 PayPal API 的 PHP 文件的目录中
  2. 我把位于页面here(https://developer.paypal.com/webapps/developer/docs/api/,点击PHP选项卡查看JSON)的JSON文件放在同一目录下,使用命令:php compose.phar install,下载并安装安装 PayPal SDK
  3. 我从 PayPal SDK REST 示例文件中获取 sdk_config.ini 文件并将其复制到基本目录(与 PHP 文件和 Composer 相同)并编辑配置文件以包含我的 PayPal 客户端 ID 和机密

所以现在我的 PHP 文件、composer.json 文件、sdk_config 文件以及包含 Composer 文件和 PayPal SDK 文件的“vendor”文件夹都在一个目录中。

但是,当我输入以下代码时,我在 PayPal 文档网站上找到了该代码:

require 'vendor/autoload.php';
define('PP_CONFIG_PATH', __DIR__."sdk_config.ini");
use PayPal\Auth\OAuthTokenCredential;

$apiContext = new OAuthTokenCredential('my paypal client id', 'my secret');

当我运行此代码时,我收到 500 错误,错误日志显示:

PHP Fatal error:  Class 'ApiContext' not found

即使我完全按照说明进行操作,我的 PHP 脚本也没有找到 PayPal SDK,是的,Composer 确实在“vendor”文件夹中创建了“autoload.php”文件。

还有其他人遇到过这个问题吗?有没有我遗漏的步骤?

【问题讨论】:

  • 你能发布你的完整代码sn-p吗?您发布的 ApiContext 错误是本地 PHP 错误,而 500 响应是服务器端错误。所以不清楚到底发生了什么。看起来您正在将“OAuthTokenCredential”对象分配给“$apiContext”。这也可能导致问题。

标签: rest paypal installation composer-php


【解决方案1】:

您尚未加载 ApiContext 类。试试这个:

define('PP_CONFIG_PATH', __DIR__."sdk_config.ini");
use PayPal\Rest\ApiContext;
use PayPal\Auth\OAuthTokenCredential;

$credential = new OAuthTokenCredential($paypalClientId, $paypalSecret);
$apiContext = new ApiContext($credential, null);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-29
    • 2012-04-21
    • 2016-01-10
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    相关资源
    最近更新 更多