2010-11-17 46 views
0
替代

我用下面的代码在PHP5在* nix系统调用远程URL 2参数(切换到远程系统:的URL PHP的fopen:在Windows

$fp = fopen($url, "r"); 
$contents = stream_get_contents($fp); 
fclose($fp); 

不幸的是它失败的HTTPS(HTTP正常工作)与以下错误消息的Windows/IIS(尽管allow_url_fopen已被肯定启用):

fopen(https://www.example.com/?method=abc&par=xyz) [function.fopen]: failed to open stream: No error in C:\Inetpub\wwwroot\libs\externalSys.php on line 122

因此我问题

  1. 是否有其他人发现了解决方案?

  2. 有没有其他的选择?卷曲 不幸的是不是 安装/可用。

回答

1

这看起来像你可能没有包含在你的php.ini的php_openssl.dll,所以HTTPS fopens将失败。它只与标准的http一起工作吗?

+0

很好,忘了! – 2010-11-17 23:34:36

+0

太棒了,修复了。非常非常感谢你! – MrG 2010-11-17 23:39:40

+0

@MrG很高兴帮助。 – 2010-11-17 23:43:25

0

您可以尝试使用file_get_contents

用法:

$contents = file_get_contents($url); 
+0

谢谢布拉德,但行为是不幸的是相同的:HTTP工作正常,HTTPS提供相同的错误信息(只与消息中的[function.file-get-contents])。 – MrG 2010-11-17 23:35:12