在PHP中与外部服务器通信的备用选项

时间:2013-08-23 19:40:39

标签: php curl

我正在使用免费的网络托管平台来禁用以下php功能:allow_url_fopen, fsockopen, pfsockpen, getrusage, get_current_user, set_time_limit, getmyuid, getmypid, dl, leak, listen, chown, chgrp, realpath, link, exec, passthru, curl_init.

这些功能被禁用意味着我无法使用curl或fsockopen与外部服务器通信。

我已尝试使用file_get_contents提及here,但收到以下错误消息:file_get_contents(): Unable to find the wrapper https - did you forget to enable it when you configured PHP?

由于我是免费托管计划,我不知道我可以进行任何php配置。是否有其他选项可以与外部服务器通信?

2 个答案:

答案 0 :(得分:2)

您似乎使用的是免费帐户,这是您的非付费帐户的主机限制,或者您尚未请求他们在您的付费帐户上启用传出通信。

来自awardspace.com FAQ(感兴趣的粗体区域)

  15,我不能在我的网站上使用RSS feed或cURL?

     

默认情况下,所有帐户 已禁用,   但可根据要求为付费帐户启用。所以   你需要做的是从你的主机控制面板提出一张票 - >   支持中心 - >麻烦故障单,我们将为您启用它们。

答案 1 :(得分:2)

file_get_contents可能是您的最佳选择。 根据您作为免费用户获得的权限,您可以尝试从代码中设置php.ini,该代码仅在该脚本中保留。

请参阅http://php.net/manual/en/function.ini-set.php

因此,要解决无法找到包装器https错误,您可以尝试

ini_set('extension', 'php_openssl.dll');
ini_set('allow_url_include', 'on');