【问题标题】:Problem with SSI includes, PHP file_get_contents() and httpsSSI 的问题包括 PHP file_get_contents() 和 https
【发布时间】:2011-09-17 12:47:49
【问题描述】:

我有一个脚本可以提取文件的内容,然后像这样将其回显出来:

$file_to_read = "http://website.com/" . $file_name;
$text = @file_get_contents($file_to_read);
echo $text;

我就是这样做的,因为读取的文件包含 SSI,并且一旦回显就无法工作。

现在我需要复制代码,但使用 https 调用同一个网站,但它不起作用。有没有人对如何做同样的事情有建议,但在调用 https URL 或使用本地路径时它可以工作吗?

谢谢!

【问题讨论】:

  • 也许该站点的 https 版本没有启用 SSI?即使是“相同”的一面,大多数网络服务器都要求 SSL 和非 SSL 站点的配置定义完全不同。
  • Marc - https 版本确实启用了 SSI,因为它适用于 https 站点的其他部分。

标签: php https file-get-contents server-side-includes ssi


【解决方案1】:

相对于 file_get_contents,我在使用 cURL 方面更幸运,这是我用于包含 access_token 的 facebook api 调用(仅在安全连接上可用):

$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,$file_to_read);
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false);
$text = curl_exec($curl_handle);
curl_close($curl_handle);

【讨论】:

  • Curl 目前不适合我。还有其他建议吗?
  • 我不确定您要连接哪个网站(或服务),但我总是尝试删除“https”中的“s”,看看它是否仍然有效;我知道我以前很惊讶。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-22
  • 1970-01-01
  • 1970-01-01
  • 2011-10-13
  • 2011-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多