Ula*_*ava 3 php html5 paypal laravel laravel-5
请帮帮我
geting error sizeof():参数必须是实现Countable的数组或对象
ErrorException {#654 ?
#message: "sizeof(): Parameter must be an array or an object that implements Countable"
#code: 0
#file: "C:\Primer_Proyecto\Ventas\vendor\paypal\rest-api-sdk-php\lib\PayPal\Common\PayPalModel.php"
#line: 179
#severity: E_WARNING
trace: {?
C:\Primer_Proyecto\Ventas\vendor\paypal\rest-api-sdk-php\lib\PayPal\Common\PayPalModel.php:179 {?}
Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() {}
C:\Primer_Proyecto\Ventas\vendor\paypal\rest-api-sdk-php\lib\PayPal\Common\PayPalModel.php:179 {?}
C:\Primer_Proyecto\Ventas\vendor\paypal\rest-api-sdk-php\lib\PayPal\Common\PayPalModel.php:281 {?}
C:\Primer_Proyecto\Ventas\vendor\paypal\rest-api-sdk-php\lib\PayPal\Common\PayPalModel.php:296 {?}
C:\Primer_Proyecto\Ventas\vendor\paypal\rest-api-sdk-php\lib\PayPal\Api\Payment.php:557 {?}
C:\Primer_Proyecto\Ventas\app\paypal.php:26 {?
› try{\r
› \t$payment->create($this->_apiContext);\r
› }\r
arguments: {?}
}
Run Code Online (Sandbox Code Playgroud)
这是paypal.php代码
public function generate(){
$payment = \PaypalPayment::payment()->setIntent("sale")
->setPayer($this->payer())
->setTransactions([$this->transaction()])
->setRedirectURLs($this->redirectURLs());
try {
$payment->create($this->_apiContext);
}
catch(\Exception $ex){
dd($ex);
exit(1);
}
return $payment;
}
public function __construct($shopping_cart){
$this->_apiContext = \PaypalPayment::ApiContext($this->_ClientId, $this ->_ClientSecrete);
$config = config("paypal_payment");
$flatConfig = array_dot($config);
$this->_apiContext->setConfig($flatConfig);
$this->shopping_cart = $shopping_cart;
}
Run Code Online (Sandbox Code Playgroud)
我没有看到错误,我已经待了太长时间寻找我的错误
错误在paypal\rest-api-sdk-php您正在使用的包中.您使用的软件包版本显然与PHP 7.2不完全兼容.
您获得的具体错误已在最新版本的软件包(1.13.0)中得到修复.将程序包更新到最新版本,此问题将得到修复.但我不能说其他问题可能会出现.
在1.12.0版本中,失败的特定行是:
} elseif (sizeof($v) <= 0 && is_array($v)) {
Run Code Online (Sandbox Code Playgroud)
在PHP 7.2中,如果$v不是Countable,则sizeof()调用将发出警告,Laravel会将该警告转换为异常.
在1.13.0版本中,他们更新了条件
} elseif (is_array($v) && sizeof($v) <= 0) {
Run Code Online (Sandbox Code Playgroud)
现在,sizeof()只会在$v数组时调用,因此保证为Countable,从而消除警告.
| 归档时间: |
|
| 查看次数: |
13722 次 |
| 最近记录: |