这段代码总是在2m左右出现504 Proxy Timeout错误,什么原因?
这段代码当$fucknum比较大时,比如1000时,就会出现504 Proxy Timeout错误,而且报错后程序不再继续执行,好像停止不前了,$fucknum值比较小时不会出现这个错误,什么原因?请各位指点下
function autonewnewegg($arr){ $fucknum=intval($arr['fucknum']); // # 获取抓取条数的整数值 $outime=$fucknum*2+100; set_time_limit($outime);//设置脚本执行时间 $nextnum=20;//连续查找10次不存在则终止 $sn=$arr['sn']; $acl=explode("-",$sn); $acl_1=preg_replace('/[^0-9]+/','',$acl[1]); //二次 $a=$b=0; //二次 while($fucknum>0){ $arr1 = $arr2 = array(); if($acl[2]<1000&&$acl_1<100){ $acl[2]=str_pad("$acl[2]",3,'0',STR_PAD_LEFT); $acl_1=str_pad("$acl_1",2,'0',STR_PAD_LEFT); $acl[1]="c".$acl_1; $arr_in=implode("-",$acl); $url=$GLOBALS['competitor'][1]['product'].$arr_in.'.htm'; if($acl[2]==999){ $acl_1=$acl_1+1; $acl[2]=001; }else { ++$acl[2]; } }elseif($acl[0]<=99){ $acl[0]=str_pad("$acl[0]",2,'0',STR_PAD_LEFT); $arr_in=implode("-",$acl); $acl[2]=001; $acl_1=01; ++$acl[0]; $url=$GLOBALS['competitor'][1]['product'].$arr_in.'.htm'; } $str = file_get_contents($url); if(!$str){ $fucknum--; }else{ $preg ='/href="http:\/\/www\.newegg\.com\.cn\/SubCategory\/(\d*)\.htm">/'; $preg2 ='/<h1>(.*)<\/h1>/'; $str = iconv("gbk","UTF-8",$str); preg_match($preg,$str,$arr1); preg_match($preg2,$str,$arr2); if(empty($arr1) || empty($arr2)){ $fucknum--; }else{ $price = $this->ocr_newegg($url); if ($price == false||$price=='.'){ $price = $this->ocr_newegg1($url); } if($price == false){ }else{ $autoarr=array('cid'=>$arr1[1],'name_newegg'=>$arr2[1],'price_newegg'=>$price,'sn_newegg'=>$arr_in); $this->addnew_newegg($autoarr); } $fucknum--; } } } return true; }
回复讨论(解决方案)
超时,就没办法了。
set_time_limit(0);
?
让脚本永不超时:set_time_limit(0);
超时,就没办法了。
set_time_limit(0);
?
已经设置了,$outime是根据$fucknum动态改变的啊,小数据量时怎么不超时,
set_time_limit($outime);//设置脚本执行时间
让脚本永不超时:set_time_limit(0); 设置了,还是会出现那个错误,不是这个原因
报:504 Proxy Timeout的原因很可能是
外网卡在收到了内网卡来自客户端的访问请求以后,在同一时间,马上转发给了目的地网站服务器,但是目的地网站服务器没有及时响应。3秒之后重发一次,6秒之后再重发一次,由于一直没有收到响应内网卡不得不返回给客户端HTTP/1.1 504 Proxy Timeout。
报:504 Proxy Timeout的原因很可能是
外网卡在收到了内网卡来自客户端的访问请求以后,在同一时间,马上转发给了目的地网站服务器,但是目的地网站服务器没有及时响应。3秒之后重发一次,6秒之后再重发一次,由于一直没有收到响应内网卡不得不返回给客户端HTTP/1.1 504 Proxy Timeout。 难道是要file_get_contents的网站做了限制?
引用 5 楼 heyc1998 的回复:
报:504 Proxy Timeout的原因很可能是
外网卡在收到了内网卡来自客户端的访问请求以后,在同一时间,马上转发给了目的地网站服务器,但是目的地网站服务器没有及时响应。3秒之后重发一次,6秒之后再重发一次,由于一直没有收到响应内网卡不得不返回给客户端HTTP/1.1 504 Proxy Timeout。
难道是要file_get_con……
你可以在每次循环之后都sleep长点时间,看是否还有这样的现象出现!~应该是远程服务器的问题!
引用 6 楼 helloqhq 的回复:
引用 5 楼 heyc1998 的回复:
报:504 Proxy Timeout的原因很可能是
外网卡在收到了内网卡来自客户端的访问请求以后,在同一时间,马上转发给了目的地网站服务器,但是目的地网站服务器没有及时响应。3秒之后重发一次,6秒之后再重发一次,由于一直没有收到响应内网卡不得不返回给客户端HTTP/1.1 504 Proxy Ti…… 如何在报了504 Proxy Timeout错误后,使循环继续执行下去,现在是报错后程序就出问题,好像while循环结束不了,不返回true。
引用 6 楼 helloqhq 的回复:
引用 5 楼 heyc1998 的回复:
报:504 Proxy Timeout的原因很可能是
外网卡在收到了内网卡来自客户端的访问请求以后,在同一时间,马上转发给了目的地网站服务器,但是目的地网站服务器没有及时响应。3秒之后重发一次,6秒之后再重发一次,由于一直没有收到响应内网卡不得不返回给客户端HTTP/1.1 504 Proxy Ti…… 也就是说这个错误有个返回值,如何才能屏蔽这个返回值?
引用 6 楼 helloqhq 的回复:
引用 5 楼 heyc1998 的回复:
报:504 Proxy Timeout的原因很可能是
外网卡在收到了内网卡来自客户端的访问请求以后,在同一时间,马上转发给了目的地网站服务器,但是目的地网站服务器没有及时响应。3秒之后重发一次,6秒之后再重发一次,由于一直没有收到响应内网卡不得不返回给客户端HTTP/1.1 504 Proxy Ti…… 我有两个死帖,随便回复下,给分
http://topic.csdn.net/u/20101128/19/0fedb777-1901-4460-945b-ddc2a8787ba0.html
http://topic.csdn.net/u/20101209/17/438c616b-3132-41bc-a329-86f84e46a72c.html
我也出现这个问题了,后台还没结束,前台就超时了,撸主解决了吗

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Pembalakan PHP adalah penting untuk memantau dan menyahpepijat aplikasi web, serta menangkap peristiwa kritikal, kesilapan, dan tingkah laku runtime. Ia memberikan pandangan yang berharga dalam prestasi sistem, membantu mengenal pasti isu -isu, dan menyokong penyelesaian masalah yang lebih cepat

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.

Alipay Php ...
