在搭建的LNMP平台下运行PHP代码,平台为:nginx/0.8.54 PHP/5.2.17PHP代码test.php内容如下:
        $makeurl="http://127.0.0.1/ceshi.php";
        $contents=file_get_contents($makeurl);
        echo $contents;
       //echo var_dump($http_response_header);//返回NULL
ceshi.php内容如下:
      echo "this is ceshi!";
当内容比较少的时候,上面的test.php能正输出内容,但是当ceshi.php里包含了大量文字信息后,test.php就什么都不输出了。无论我的PHP错误开关是否打开,都是空摆,但是直接在浏览器地址栏用http://IP地址/ceshi.php的形式访问是可以显示内容的,不知道为何?望解答,感谢!

解决方案 »

  1.   

    抱歉,nginx和Linux不一样吗?莽撞了,虚心求解……
      

  2.   

    本帖最后由 PhpNewnew 于 2012-02-29 18:12:06 编辑
      

  3.   

    test.php 页面执行超时了,已经die掉了
    在 test.php 首行加上 set_time_limit(0); 以不限制页面执行时间
      

  4.   

      用file_get_contents去获取这个URL内容,当这个内容比较少的时候可以输出,内容比较多的时候不能输出,服务器头部信息返回NULL值。估计是和某个设置有关系,核心就是file_get_contents这个函数的设置,但是我只知道怎么用。没有深入研究过file_get_contents它,不知道该怎么处理!
      

  5.   

         跟这个没关系的,如果说超时,那么我直接在地址栏输入URL地址,是可以正常输出页面的,关键是通过file_get_contents来获取输出的时候就不行了。估计是该函数获取的数据超过了服务器设置了。就是不知道该设置哪里!
      

  6.   

    用wireshark和tcpdump抓包,再看交互过程分析吧
      

  7.   

    tcpdump怎么抓包。这个不会啊。
      

  8.   

    我把错误提示开启了。依然不会显示什么。服务器那里也并不返回错误。而是$http_response_header返回了NULL。查看错误日志无信息,访问日志只显示普通的200 index.php,也就是成功的。
      

  9.   

    tcpdump -X -s 256 host 对方主机ip and port 对方端口或本地端口