4

我将我的代码库从一台服务器移动到另一台服务器 - 没有代码更改,唯一的区别是 https。我在 Soundcloud 开发人员中将我的应用程序修改为https://url,但是我不断收到此错误:

[20-Sep-2013 15:08:35 Europe/London] PHP Fatal error:  Uncaught exception 'Services_Soundcloud_Invalid_Http_Response_Code_Exception' with message 'The requested URL responded with HTTP code 0.' in /system/soundcloud/Soundcloud.php:945
Stack trace:
#0 /soundcloud/Soundcloud.php(298): Soundcloud->_request('https://api.sou...', Array)
#1 /application/controllers/speaker/media.php(190): Soundcloud->credentialsFlow('soundcloud@...', '073ffbc3b66691c...')
#2 [internal function]: Media->add_audio()
#3 /system/core/CodeIgniter.php(359): call_user_func_array(Array, Array)
#4 /index.php(202): require_once('/home/iwantasp/...')
#5 {main}
  thrown in /system/soundcloud/Soundcloud.php on line 945

同样,此代码在以前的服务器上完美运行,它只是服务器更改。

我们已经实施了安全证书,这通常是导致此问题无济于事的原因(Soundcloud (Oauth2) API 获取访问令牌失败) - 无论如何我们都在 linux 系统上,所以不应该有所作为。

cURL 也适用于该服务器。

还有什么可能导致我的问题?

4

2 回答 2

5

不看源代码就很难调试这个异常。但我的猜测是你的问题可能与这个问题有关:

https://github.com/mptre/php-soundcloud/issues/3

这意味着您应该修改您的accessToken调用并包含额外的 cURL 参数。

$accessToken = $soundcloud->accessToken($code, $postData, array(
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_SSL_VERIFYHOST => false,
));
于 2013-09-26T19:11:25.897 回答
3

更好的解决方案是遵循Twitter API 在 XAMPP 上返回 NULL的以下答案中列出的答案,这表明您应该更新 PHP 解决方案的 CA 根证书。

了解更多信息:

于 2013-10-31T22:31:18.563 回答