社区
基础编程
帖子详情
请教 file_get_contents 应用程序池回收
klkkdj
2009-06-08 02:04:15
file_get_contents 获取远程网页(即本站)时第一次可以取的页面内容,以后就取不到了,但取别人网站的可以取的(http://www.163.com)
后来回收一下 应用程序池 又可以取的一次后又不行了
请问这是什么原因,是iis还是php 的哪个地方没有配置好?
以前都没有遇到过
...全文
45
5
打赏
收藏
请教 file_get_contents 应用程序池回收
file_get_contents 获取远程网页(即本站)时第一次可以取的页面内容,以后就取不到了,但取别人网站的可以取的(http://www.163.com) 后来回收一下 应用程序池 又可以取的一次后又不行了 请问这是什么原因,是iis还是php 的哪个地方没有配置好? 以前都没有遇到过
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
klkkdj
2009-06-08
打赏
举报
回复
不好意思,搞定了
打开php.ini 文件 开启 include_path 配置 就行了
这好像与浏览模式有关:直接访问与file_get_contents不是同一种方式
谢谢这么多朋友关心
klkkdj
2009-06-08
打赏
举报
回复
function exists_remote_file($url_file)
{
//检测输入
$url_file = trim($url_file);
if (empty($url_file)) { return false; }
$url_arr = parse_url($url_file);
if (!is_array($url_arr) || empty($url_arr)){ return false; }
//获取请求数据
if(!isset($url_arr['host'])) return false;
$host = $url_arr['host'];
$path = $url_arr['path'];
if(isset($url_arr['query'])) $path.="?".$url_arr['query'];
$port = isset($url_arr['port']) ? $url_arr['port'] : "80";
//连接服务器
$fp = fsockopen($host, $port, $err_no, $err_str, 30);
if (!$fp){ return false; }
//构造请求协议
$request_str = "GET ".$path." HTTP/1.1\r\n";
$request_str .= "Host: ".$host."\r\n";
$request_str .= "Connection: Close\r\n\r\n";
//发送请求
fwrite($fp, $request_str);
$first_header = fgets($fp, 102400);
fclose($fp);
//测试输出$first_header 的值
print_r($first_header);
//判断文件是否存在
if (trim($first_header) == ""){ return false; }
if (!preg_match("/200/", $first_header)){
return false;
}
return true;
}
用以上检测:当回收应用池以后显示的是:HTTP/1.1 200 OK
后来就显示:HTTP/1.1 302 Moved Temporarily
第一次说明连接上,第二次应该是连不上吧,但是回收一下又可以了?哎,以前都没遇到过这种问题,最近帮朋友搞了个网站,用他自己的服务器,不知道是服务器哪儿没配好?
daguaio_O
2009-06-08
打赏
举报
回复
楼主
print_r($http_response_header)
试试看,看看返回的服务器返回的header里面有没什么信息
klkkdj
2009-06-08
打赏
举报
回复
不是
只要我不回收,他就一直取不到内容
海诗美妆
2009-06-08
打赏
举报
回复
[Quote=引用楼主 klkkdj 的帖子:]
file_get_contents 获取远程网页(即本站)时第一次可以取的页面内容,以后就取不到了,但取别人网站的可以取的(http://www.163.com)
后来回收一下 应用程序池 又可以取的一次后又不行了
请问这是什么原因,是iis还是php 的哪个地方没有配置好?
以前都没有遇到过
[/Quote]
两次请求的间隔如果非常短,http服务器会自动辨别第2次请求为恶意访问,这样可以防止DOS、大流量访问攻击。
lz看看是否为此原因。
php
file
_get_
contents
失效,php
file
_get_
contents
返回空无效解决办法_PHP教程
file
_get_
contents
函数多用来于来采集远程服务器上的内容,但使用
file
_get_
contents
函数之前我们在php.ini中是必须把allow_url_fopen开启才行问题描述fopen(),
file
_get_
contents
(),getimagesize() 等都不能正常获得网络上的内容,具体表现为凡参数是URL的,一律返回空值如果是windows可找开allow_url_f...
file
_get_
contents
获取json内容处理失败的问题
访问xxx路径会返回json格式的数据,简单点,我用
file
_get_
contents
进行获取,发现解析不出来,显示是string类型数据,非json格式,也就是个格式不对。 但是我直接拿路径返回的数据解析是ok的,也就是说
file
_get_
contents
获取的数据有所不同。 后来查了下资料,提示说
file
_get_
contents
得到的数据前面有三个看不到的字符,所以代码修改如下,仅供参考
判断
file
_get_
contents
是否执行成功
PHP 简单快速的获取文件信息,可以用函数
file
_get_
contents
()。但是一旦文件、url出现错误或不存在会导致获取失败,返回致命错误,会影响后面的程序运行。如果文件或URL中出现空格,也会引发程序报错。解决方案如下:$
file
=str_replace(' ','%20','http://img.tqmall.com/p_w_picpaths/upload/图片...
php使用
file
_get_
contents
(‘php://input‘)和$_POST的区别
本文学习目的: 为什么和第三方平台对接接口的时候,在接收http请求数据包时,一般都是用
file
_get_
contents
("php://input"),而不是用$_POST?
file
_get_
contents
:将整个文件读入一个字符串 在用php写接口的时候,通常会将请求的数据通过json的形式发送到指定的请求地址处,此时的
file
_get_
contents
(‘php://input’)主要是用来获取请求的原始数据。和 $HTTP_RAW_POST_DATA 比起来,php://input给内存带
基础编程
21,891
社区成员
140,347
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章