Dooling Posted March 25, 2008 Report Share Posted March 25, 2008 (edited) Problēma ir šāda: ir kods, kurš veic filtrāciju. Datu apjoms var būt ļoti liels. Respektīvi, ja lietotājs ir padevis lielu datu apjomu, tad kods izpildās līdz 10 minūtēm. Tātad ir proxy-serveris, uz kura stāv kods, bet pēc apmēram 2 minūtēm FF izvada šādu paziņojumu: Proxy Error The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET filter.php. Reason: Document contains no data Admins teica izveidot .htaccess failu, lai varētu palielināt max_execution_time, to izveidoju, bet tāpat FF izvada iepriekš minēto paziņojumu. .htaccess saturs: php_value max_execution_time 600 Kur varētu būt problēma? --------------------------------------- Vai ir kāds saskāries ar tādu pašu vai līdzīgu problēmu? Edited March 25, 2008 by Dooling Link to comment Share on other sites More sharing options...
Dooling Posted March 26, 2008 Author Report Share Posted March 26, 2008 neviena komentāra :( Link to comment Share on other sites More sharing options...
andrisp Posted March 26, 2008 Report Share Posted March 26, 2008 Tev tas skripts stāv proxy servera vai kā ? Īsti nesaprotu situācijas aprakstu. Un vai tā notiek tikai ar FF, vai arī, piem., IE ? Link to comment Share on other sites More sharing options...
Dooling Posted March 26, 2008 Author Report Share Posted March 26, 2008 Jā, skripts stāv uz proxy servera. Tas notiek gan uz FF, gan IE. Link to comment Share on other sites More sharing options...
andrisp Posted March 26, 2008 Report Share Posted March 26, 2008 Pag, tad pārlūki to serveri nemaz neizmanto kā proxy, bet gan kā vienkārši web serveri ? Link to comment Share on other sites More sharing options...
Dooling Posted March 26, 2008 Author Report Share Posted March 26, 2008 Jā, tā ir. Link to comment Share on other sites More sharing options...
andrisp Posted March 26, 2008 Report Share Posted March 26, 2008 Nu tad pričom vispār jaukt galvu un pieminēt kaut kādu proxy, ja tam nemaz nav nekāda sakara ? :) Bet vispār tas kļūdas paziņojums ir tāds, it kā tu izmantotu to serveri kā proxy un caur to mēģini pieprasīt skriptu no cita servera. Nez, nesaprotu, kā tev tur īsti tur viss darbojas. Link to comment Share on other sites More sharing options...
Dooling Posted March 26, 2008 Author Report Share Posted March 26, 2008 PHP un MYSQL darbojas caur proxy serveri. Link to comment Share on other sites More sharing options...
andrisp Posted March 26, 2008 Report Share Posted March 26, 2008 PHP ? Tas ir kā ? Link to comment Share on other sites More sharing options...
Dooling Posted March 26, 2008 Author Report Share Posted March 26, 2008 To es nezinu. Link to comment Share on other sites More sharing options...
andrisp Posted March 26, 2008 Report Share Posted March 26, 2008 Nu tad nevarēšu nekā palidzēt, ja pats īsti nezini, kā tev tur viss sastutēts. Link to comment Share on other sites More sharing options...
Dooling Posted March 26, 2008 Author Report Share Posted March 26, 2008 Tikko noskaidroju, ka tikai MYSQL darbojas caur proxy-serveri Link to comment Share on other sites More sharing options...
Roze Posted March 26, 2008 Report Share Posted March 26, 2008 Faktiski nav tāds jēdziens kā "MySQL darbojas caur proxy" (ja piesienas vārdiem tad protams ir mysql-proxy aplikācija, taču tās uzdevums ir pilnīgi cits). Tātad jautājums vēlreiz lai precizētu - šis erorrs nāk no: "Proxy Error The proxy server received an invalid response from an upstream server." a) prokša kas nolikts pirms webservera? (parasti izmanto Squid vai dažus citus proxy softus lai paatrinātu (accelerate) lēnas weblapas - t.i. iekešotu html lapas u.c. statiskas lietas) vai b) no prokša kas ielikts tavā pārlukā (vai arī teiksim ja ir kāds uzņēmums tad proxis var būt transparents (caurspīdīgs) uz visu uzņēmumu? Lai vai kā problēma ir visai vienkārša - Proxim ir ielikts kaut kāds atbildes (response) timeouts.. attiecīgi viņs nevar sagaidīt nekādu atbildi no webserva un izmet erroru šajā gadijumā max_execution_time nepalīdzēs, jo tas ierobežo/palielina tikai PHP maksimālo izpildes laiku un nejau PHP ir tas kas sūdzās. Risinājumi varētu būt: a) palielināt proxy timeoutus (atkarībā no softwares kas tiek izmantota ja piemēram Squid tad jāmaina request_timeout / read_timeout (lai gan noklusēti tiem vajadzētu būt diezgan lieliem)) b) ja php skripts ir ilgi strādājoš tad parasti palīdz progresa gaitā izvadīt kaut kādus datus (kaut vai punktiņus vai ko tādu) Link to comment Share on other sites More sharing options...
Dooling Posted March 27, 2008 Author Report Share Posted March 27, 2008 Koda gabals, kurš tiek izsaukts: <?php //GARŠ KODS, KUR NOTIEK EXCEL dokumenta satura ģenerēšana // mainīgais $content - excela dokumenta saturs. $name = "Dokuments"; $filename = $name.'.xls'; $path = "../excel/"; $filename_c = $path.$filename; $handle = fopen($filename_c, 'w'); if (fwrite($handle, $content) === FALSE) { echo "Nevar ierakstīt failā ($filename)"; exit; } fclose($handle); header ("Cache-Control: no-cache, must-revalidate"); header ("Pragma: no-cache"); header ("Content-type: application/x-msexcel"); header ("Content-Disposition: attachment; filename=\"" . $filename . "\"" ); readfile($filename_c); exit; ?> Output'us (echo "<br style='display:none;'/>") kodā esmu izveidojis visās iespējamās vietās, bet tā pati problēma. Varbūt header'os kaut kas jāmaina? Link to comment Share on other sites More sharing options...
Dooling Posted March 29, 2008 Author Report Share Posted March 29, 2008 Kādi būtu risinājumi būtu, lai varētu izveidot Excel dokumentu, kuru izveidei prasa ilgāk par minūti, ja tad tiek padots caur onClinck notikumu? Link to comment Share on other sites More sharing options...
Recommended Posts