如何包含或引导paypal core sdk php

如何包含或引导paypal core sdk php,php,paypal,sdk,include,Php,Paypal,Sdk,Include,我已经从GitHub手动下载了paypal core sdk for php,我的服务器没有“composer”,我只是手动将文件复制到文档根目录之外的include目录中。问题是,当我去调用服务器运行的一些类时,不知道我在说什么。。。i、 e Fatal error: Class 'PPApiContext' not found in /home/rctoronto/public_html/start.php on line 143 如果我在提供PPApiContext的文件中包含一次,它就

我已经从GitHub手动下载了paypal core sdk for php,我的服务器没有“composer”,我只是手动将文件复制到文档根目录之外的include目录中。问题是,当我去调用服务器运行的一些类时,不知道我在说什么。。。i、 e

Fatal error: Class 'PPApiContext' not found in /home/rctoronto/public_html/start.php on line 143
如果我在提供PPApiContext的文件中包含一次,它就会转到另一个错误,当我包含了它抱怨的所有错误时,它最终会继续。但是sdk有内部依赖性问题

我如何正式声明sdk库,以便我的应用程序可以使用它?我已经浏览了网络,还没有找到这个问题的好答案。我已经尝试使用php.ini手动更改include_路径,但它仍然无法使用sdk的类。我无法访问/usr/lib/php或/usr/local/lib/php,因为我在共享服务器上

这是paypal的“GetAuthorization”url(我已经在文件上手动使用过一次了

$apicontext = new PPApiContext(array('mode' => 'live'));
$clientId = PP_CLIENTID;
$clientSecret = PP_SECRET;
$scope = array('openid', 'email'); 
$redirectUri = 'https://maskedurl.ca/login?ltype=pp&loginSubmit=true';
$pp_authUrl = PPOpenIdSession::getAuthorizationUrl($redirectUri, $scope , $clientId,       $apicontext); 

但是我们如何正确地声明整个sdk库呢?

下面是我如何解决它的。更新composer.json如下:

{
    "name": "PayPal Test",
    "require": {
        "paypal/sdk-core-php": "dev-stable"
    },
    "autoload": {
        "psr-0": {"PayPal\\": "vendor/paypal/sdk-core-php/lib/"}
    }    
}
发件人:

如果您不想使用composer,可以获取SDK zip,将文件解压缩到应用程序文件夹,并需要“vendor/autoload.php”文件。此文件注册一个自定义自动加载程序,可以自动加载PayPal SDK文件

这将完成以下工作:

include('paypal-sdk-core/lib/common/PPApiContext.php');
include('paypal-sdk-core/lib/PPConstants.php');
include('paypal-sdk-core/lib/PPConfigManager.php');
include('paypal-sdk-core/lib/auth/openid/PPOpenIdSession.php');
如果您需要完整的堆栈来制作示例,请使用以下方法:

include('paypal-sdk-core/lib/common/PPApiContext.php');
include('paypal-sdk-core/lib/PPHttpConfig.php');
include('paypal-sdk-core/lib/common/PPUserAgent.php');
include('paypal-sdk-core/lib/PPHttpConnection.php');
include('paypal-sdk-core/lib/PPLoggingLevel.php');
include('paypal-sdk-core/lib/exceptions/PPConnectionException.php');
include('paypal-sdk-core/lib/common/PPModel.php');
include('paypal-sdk-core/lib/auth/IPPThirdPartyAuthorization.php');
include('paypal-sdk-core/lib/handlers/IPPHandler.php');
include('paypal-sdk-core/lib/PPConstants.php');
include('paypal-sdk-core/lib/PPConfigManager.php');
include('paypal-sdk-core/lib/auth/openid/PPOpenIdSession.php');
include('paypal-sdk-core/lib/auth/PPTokenAuthorization.php');
include('paypal-sdk-core/lib/auth/openid/PPOpenIdTokeninfo.php');
include('paypal-sdk-core/lib/transport/PPRestCall.php');
include('paypal-sdk-core/lib/PPLoggingManager.php');
include('paypal-sdk-core/lib/handlers/PPOpenIdHandler.php');

是我正在尝试使用的库。我只是用艰难的方式,反复尝试。我很惊讶没有一个完整的“include”文件。我实际上最终放弃了PHP SDK,并使用了cURL示例来实现解决方案……嗨,Ryan,你解决了这个问题吗?我在PHP SDK上遇到了同样的问题。我没有尝试你的解决方案s我暂时放弃了SDK,而只是自己在PHP中进行CURL调用。我会尝试一下,当我可以再次为此分配一些时间时,如果可以的话,我会给你一个+1分;)谢谢:)回答得好!(我没有足够的声望点数来投票)我相信其他有类似问题的人也会发现它很有用。