故障排除
使用Pay Station SDK向艾克索拉服务器发送请求时出现错误[curl] 77: Error setting up the location verification certificate: CAfile。
我们启用SSL证书验证并使用操作系统提供的默认CA捆绑包。不过,并不是所有的系统磁盘上都有CA捆绑包。例如,Windows和OS X没有CA捆绑包的固定通用位置。
解决该问题有以下几种方式:
- 您可以用以下代码在开发环境中禁用证书认证:
Copy
- php
<?php
use Xsolla\SDK\API\XsollaClient;
$client = XsollaClient::factory(array(
'merchant_id' => MERCHANT_ID,
'api_key' => API_KEY
));
$client->setDefaultOption('ssl.certificate_authority', false);
注:
您也需要在生产环境中测试该问题。
- 提供可靠的证书(推荐)。确保CA文件存在并通过下方代码指定其路径,其中:
/path/to/file
是CA文件的路径ssl.certificate_authority
是CA文件的名称
Copy
- php
<?php
use Xsolla\SDK\API\XsollaClient;
$client = XsollaClient::factory(array(
'merchant_id' => MERCHANT_ID,
'api_key' => API_KEY
));
$сlient->setDefaultOption('ssl.certificate_authority', '/path/to/file');
对于Windows系统,CA文件可能在以下文件夹中:
C:\windows\system32\curl-ca-bundle.crt C:\windows\curl-ca-bundle.crt
如果上述位置下没有证书,可使用Mozilla提供的证书。
在部分用于Windows的PHP版本中,通过代码配置证书路径可能出现问题。要解决问题,请下载php.ini
配置文件中指定其路径。
Copy
curl.cainfo=c:/cacert.pem
本文对您的有帮助吗?
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。默认情况下,如果用于Apache的PHP-CGI未向PHP传入HTTP Basic user/pass,将显示代码为.htaccess
或httpd.conf
Apache配置文件中添加以下字符串:
Copy
- php
<?php
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
本文对您的有帮助吗?
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。如果使用Pay Station PHP SDK,艾克索拉会检查Webhook来自的IP地址。以下情况下会返回
- 在开发环境中从本地主机测试Webhook服务器
- 您的应用通过代理服务器(如负载平衡器)在生产环境中工作
如果您在开发环境中,请使用下列代码关闭IP地址检查:
Copy
- php
<?php
use Xsolla\SDK\Webhook\WebhookServer;
$webhookServer = WebhookServer::create($callback, PROJECT_KEY);
$webhookServer->start($webhookRequest = null, $authenticateClientIp = false);
如果您使用代理服务器,请选择以下解决方案之一:
- 使用以下代码将反向代理IP地址添加到Webhook服务器(推荐):
Copy
- php
<?php
use Xsolla\SDK\Webhook\WebhookServer;
use Symfony\Component\HttpFoundation\Request;
$request = Request::createFromGlobals();
$request->setTrustedProxies(array('YOUR_PROXY_SERVER_IP_OR_CIDR'));
$webhookServer = WebhookServer::create($callback, PROJECT_KEY);
$webhookServer->start();
- 将代理IP地址添加到允许列表。
关于使用代理服务器的更多信息,请参阅Simfony文档。
本文对您的有帮助吗?
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。