PhP的sdk如何解决API域名解析失败的问题?

如题,最近我通过PhP后台向LeanCloud中存储数据的时候,发现频繁出现调用失败。log如下:

Save object fail!exception 'RuntimeException' with message 'CURL connection (https://api.leancloud.cn/1.1/batch) error: 7 Failed to connect to api.leancloud.cn port 443: Connection timed out' in /home/wwwroot/api.ldstark.com/bigbang/payment/vendor/LeanCloud/Client.php:409
Stack trace:
#0 /home/wwwroot/api.ldstark.com/bigbang/payment/vendor/LeanCloud/Client.php(456): LeanCloud\Client::request('POST', '/batch', Array, NULL, Array, NULL)
#1 /home/wwwroot/api.ldstark.com/bigbang/payment/vendor/LeanCloud/Client.php(508): LeanCloud\Client::post('/batch', Array, NULL, Array, NULL)
#2 /home/wwwroot/api.ldstark.com/bigbang/payment/vendor/LeanCloud/Object.php(749): LeanCloud\Client::batch(Array, NULL)
#3 /home/wwwroot/api.ldstark.com/bigbang/payment/vendor/LeanCloud/Object.php(697): LeanCloud\Object::batchSave(Array)
#4 /home/wwwroot/api.ldstark.com/bigbang/payment/vendor/LeanCloud/Object.php(444): LeanCloud\Object::saveAll(Array)

我对PHP不是很熟,不清楚是不是《LeanCloud 华北节点 API 域名近日出现间歇性解析失败的说明》里说到的问题,如果是的话,请问如何在继续使用PHPSDK的情况下解决问题,因为我发现PHPSDK已经很久没更新了

如果不是这个问题的话,能不能告诉我如何解决这个问题呢?

ps:我后台是使用的阿里云的服务器跟LeanCloud通信的

我后台是使用的阿里云的服务器跟LeanCloud通信的

你好,请问具体是怎么调用 LeanCloud 的服务?

就是把客户端传上来的数据处理以后,调用PHPSDK保存到LeanCloud,代码如下:

$wePayPaymentObject = new Object("WePayPayment");
foreach($objectForLeanCloud as $key => $value){
if(!is_numeric($key)){
$wePayPaymentObject->set("$key", "$value");
}
}
$acl = new ACL();
$acl->setReadAccess($objectForLeanCloud["userId"],true);
$acl->setPublicReadAccess(false);
$wePayPaymentObject->setAcl($acl);
try {
$wePayPaymentObject->save();
echo "Save object success!";
} catch (Exception $ex) {
echo "Save object fail!";
echo $ex;
}

就save()的时候会报上面的错误

也就是说,在阿里云机器上使用 PHP SDK 来保存 AVObject?

如果是这种场景的话,和之前说的那个华北节点的主题是有关的。我们安排尽快升级一下 PHP SDK,使它使用新的 URL 接口。

你好,如果需要及时解决问题,请在 apache 中设置一个环境变量:

<VirtualHost *:80>
  ...
  SetEnv LEANCLOUD_API_SERVER https://{appid 前 8 位}.api.lncld.net
  ...
</VirtualHost>