2016-11-08 82 views
0

我第一次使用作曲家安装PayPal的API,并设法让PHP代码工作:贝宝+ FB API通过Composer安装。自动加载被破坏?

<?php 

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

?> 

,我已将此添加到index.php页面

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

正如我所说的这个用来工作。然后我安装使用下面的作曲家JSON文件的FB API:

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

的FB是工作,但我似乎无法再使用PayPal的API。我删除了整个供应商目录并在服务器上重新上传。供应商/ autload.php文件看起来喜欢这样的:

<?php 

// autoload.php @generated by Composer 

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

return ComposerAutoloaderInit303a6e73ffa85ad916995f78100e5117::getLoader(); 

首先,我不知道为什么该文件不具有?>结束?这是正常的吗?

当我尝试打电话给我paypal.php文件,我得到了臭名昭著的错误:

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

我不知道这里有什么问题,但没有关闭'?>'的PHP文件是完全没问题的。事实上,这被认为是许多开发人员对仅限PHP的文件的最佳实践。例如,请参阅[PSR-2](http://www.php-fig.org/psr/psr-2/#2-2-files)。 – Chris

+0

Olga提供了https://stackoverflow.com/questions/39400764/fatal-error-class-paypal-api-payer-not-found-en-sdk-paypal/47776518#47776518中描述的工作解决方案。 – olga

回答

0

一定要添加:

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

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