MAMP php 5.6.2文件\u获取\u内容不工作(超时)
我已经搜索过了,但找不到这不起作用的原因。我尝试过从命令行和apache执行,但都不起作用MAMP php 5.6.2文件\u获取\u内容不工作(超时),php,mamp,Php,Mamp,我已经搜索过了,但找不到这不起作用的原因。我尝试过从命令行和apache执行,但都不起作用 <?php echo file_get_contents("http://google.com"); ?> PHP版本: PHP 5.6.2(cli)(构建时间:2014年10月20日16:21:27) 奇怪的是,如果我使用/usr/bin/php,它就可以正常工作。(内置苹果版) 以下是线鲨的捕获: 我建议您使用卷发替代品: function file_get_contents_curl(
<?php
echo file_get_contents("http://google.com");
?>
PHP版本:
PHP 5.6.2(cli)(构建时间:2014年10月20日16:21:27)
奇怪的是,如果我使用/usr/bin/php,它就可以正常工作。(内置苹果版)
以下是线鲨的捕获:
我建议您使用卷发替代品:
function file_get_contents_curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
您的apache服务器可能对其有限制。查看这个详细的修复程序。应该只是您的
php.ini
文件中的配置更改(确保您更改了MAMP php的php.ini
文件)。您是否激活了防火墙?我已尝试禁用防火墙,但仍然会发生这种情况。真正奇怪的是,我在另一个网络上试用过,效果很好。我只是不明白/usr/bin/php如何在这两个网络上工作;但是MAMP php在这个网络上不起作用,Curl也不起作用。为了清楚起见,我贴了一个简单的例子。这是一个与网络相关的问题。你知道如何在你的网络内外追踪数据包吗?我不知道如何追踪数据包。你能就如何做到这一点给出答案吗?我只是觉得很奇怪,苹果提供的php工作得很好;但是MAMP php其实并不那么复杂,也很有趣,只要下载并在youtube上寻找一段关于如何跟踪http相关包的视频,我就添加了wireshark捕获。看起来有很多重传尝试,如我的帖子中所述allow\u url\u fopen=On
allow_url_fopen = On
function file_get_contents_curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}