elvman Posted September 5, 2007 Report Share Posted September 5, 2007 Vai ir kaut kāda iespēja ar .htaccess parādīt errora lapu, ja ir noticis kāds PHP errors. Internetā ir info, kā handl'ēt servera errorus (piem. ErrorDocument 500 /error.html), bet nekādi nevaru atrast, kā ko līdzīgu panākt, ja ir noticis PHP errors. Link to comment Share on other sites More sharing options...
andrisp Posted September 5, 2007 Report Share Posted September 5, 2007 (edited) hm.. varbūt vari mēģināt izmantot http://lv.php.net/set_error_handler. Izveido savu fju, kas redirektē uz kaut kādu error lapu. Vai ar .htaccess to varētu sataisīt - nezinu gan. Edited September 5, 2007 by andrisp Link to comment Share on other sites More sharing options...
Toms Posted September 5, 2007 Report Share Posted September 5, 2007 (edited) Iekš .htaccess un php errori tiks ielogoti failā. Tev atliek tikai izvēlēties rādīt arī uz ekrāna vai nē. php_flag register_globals off php_value error_reporting 6143 php_value log_errors on php_value log_errors_max_len 1024 php_value error_log D:/Server/apache_2.2.4/htdocs/PHP_ERROR.log php_flag display_errors 1 #php_value display_errors 0 EDIT: set_error_handler() izmantoju agrāk. Edited September 5, 2007 by Toms Link to comment Share on other sites More sharing options...
andrisp Posted September 5, 2007 Report Share Posted September 5, 2007 Toms, man šķiet, ka autors gribēja, lai error gadijumā nevis vienkārši izdrukājas kļūda, bet gan, lai tiktu parādīta speciāla error lapa. Link to comment Share on other sites More sharing options...
Toms Posted September 5, 2007 Report Share Posted September 5, 2007 (edited) Toč. Tad jādara tā: 1) Iekš .htaccess ierakstīt "php_value track_errors 1" Par track_errors: If enabled, the last error message will always be present in the variable $php_errormsg. 2) php koda izpildes beigās ievietot pārbaudi, vai bijusi kāda kļūda: isset($php_errormsg) ? header('Location: http://www.lv/php_kluda.html') : '' Tikai īsti neredzu jēgu šādam redirektam.. Edited September 5, 2007 by Toms Link to comment Share on other sites More sharing options...
andrisp Posted September 5, 2007 Report Share Posted September 5, 2007 Bet vai pie fatal kļūdas, skripts līdz tai rindiņai vispār nokļūs ? PS. Manuprāt, slikts veids kā izmantot ternary operātoru. Link to comment Share on other sites More sharing options...
elvman Posted September 5, 2007 Author Report Share Posted September 5, 2007 Bet vai pie fatal kļūdas, skripts līdz tai rindiņai vispār nokļūs ? Manuprāt nē. P.S. Laikam set_error_handler tomēr ir vienīgā izeja. Nāksies vien to pievienot katra faila sākumā. Link to comment Share on other sites More sharing options...
Toms Posted September 5, 2007 Report Share Posted September 5, 2007 Tēpēc jau domāju, kāds labums no tādas erroru handlēšanas? Par to ternary - šeit izmantoju, lai īsi parādītu domu. Link to comment Share on other sites More sharing options...
elvman Posted September 5, 2007 Author Report Share Posted September 5, 2007 Labums tāds, ka kamēr kopēju failus no izstrādes vides uz produkcijas vidi (vai ātri ķerot bagus lapā), noteikti radīsies errori, tikmēr lietotājam rādīsies uzraksts, ka lapa nav pieejama. Protams, citi teiks: "kāpēc vienkārši, kamēr tiek rediģēta lapa, .htaccess failā norādīt kautko līdzīgu 'Redirect / http://lapa_nav_pieejama.html' un, kad rediģēšaa ir pabeigta, šo rindiņu izdzēst?". Man šāds variants neder, jo pie lapā var parādīties bags arī tad, ja pie lapu neviens nekodē (vienkārši pievienojot kļūdainu rakstu, vai kas tamlīdzīgs). Link to comment Share on other sites More sharing options...
Kavacky Posted September 5, 2007 Report Share Posted September 5, 2007 Neļauj pievienot kļūdainu rakstu. Link to comment Share on other sites More sharing options...
elvman Posted September 5, 2007 Author Report Share Posted September 5, 2007 Lapa ir pārāk liela un pie tās strādā pārāk daudz darbinieku, lai paredzētu, kad notiks kļūda. Link to comment Share on other sites More sharing options...
Toms Posted September 5, 2007 Report Share Posted September 5, 2007 Nav jāzin, kad notiks - vienkārši jānovērš kļūdas rašanās iespēja. Link to comment Share on other sites More sharing options...
Recommended Posts