file_get_contents不适用于本地文件,与cURL相同

时间:2016-02-24 06:08:45

标签: php curl file-get-contents

问题:

file_get_contents('http://google.com');工作正常(适用于任何外部网址)

file_get_contents('http://my.server.org/existing_file.php');不返回任何内容,var_dump($http_response_header);在加载任何本地网址时返回一个空数组。

我使用127.0.0.1和localhost代替域名获得相同的空响应。

我已尝试/检查过:

我尝试使用cURL代替suggested here - 我得到相同的结果(适用于外部网址,本地空响应)。

根据{{​​1}}在allow_url_fopen=On中启用了{p> cURLphp.ini - 这一定是正常的,因为我可以毫不费力地加载外部网址。

我不能使用phpinfo(),因为我需要加载带有变量的URL以传递给PDF渲染器。 是否有一些其他需要更改的php.ini设置?或者可能是其他问题?我认为这是一个配置问题,因为我的代码在MAMP本地工作正常,但在生产服务器上没有。

为什么我这样做:

它全部绑定在Wordpress include文件中 - 我基本上加载了像functions.php这样的网址,然后我根据路径检查以加载正确的呈现模板,然后将呈现的 php提供给DOMPDF,以便即时生成PDF文件。最终,这意味着客户可以将http://my.server.org/path/to/file/?pdf-template附加到其wordpress网站中的任何网址,并获得PDF版本。

奇怪的是,这曾经在他们的服务器上正常工作,而客户端服务器的负责人说配置没有任何改变。他们在上个月已经更改了webhost,这可能与它有关。

更新

我设法从错误日志中提取了这个

/pdf/

问题似乎也是断断续续的 - 有时 Notice: file_get_contents(): send of 2 bytes failed with errno=104 Connection reset by peer in /home/path/to/my/file.php on line 19有效,有时它会因上述错误而失败。似乎不是一种模式。

这可能是防火墙问题吗?

0 个答案:

没有答案