Uložení chyb PHP do souboru pomocí .htaccess
Odesláno v August 6, 2008 | Kategorie Apache, PHP, Programování | Leave a Comment
V dnešní době už mi připadá jako standard, že hostingové firmy z bezpečnostních důvodů nedovolují zobrazení chyb v PHP skriptech. Ale co když skript doma funguje bezproblémově a chybka se projeví až teprve na ostrém serveru (který výsměšně posílá jenom prázdný dokument)?
Ti kdo to marně zkoušeli zapnout přímo v PHP skriptu ať už pomocí error_reporting(E_ALL ^ E_NOTICE); nebo ini_set(…) už asi zjistili, že tudy cesta nevede.
Řešení samozřejmě existuje, jinak bych to asi nepsal, že.
Díky pár změnám v souboru .htaccess můžeme error reporting nejen zapnout, ale – co je ještě lepší – můžeme logy ukládat do logovacího souboru.
Jak zapnout zobrazení chyb v PHP
Pro zobrazení chyb na výstupu stačí do souboru .htaccess přidat následující řádek
php_flag display_errors on
Rovnou dodám že tohle řešení je z důvodů bezpečnosti vhodné použít jenom dočasně.
Anebo rovnou použít
Ukládání chyb v PHP skriptu do logovacího souboru
Na rozdíl od prvního příkladu zakážeme zobrazování chyb na výstupu skriptu.
# nezobrazovat chyby
php_flag display_startup_errors off
php_flag display_errors off
Pak je samozřejmě třeba umožnit ukládání chyb do souboru. A nastavíme kam. Mně na hostingu funguje i relativní cesta k souboru, někde možná budete muset použít absolutní cestu (zjistíte pomocí DOCUMENT_ROOT) Samořejmě nejlépe někam do neveřejného adresáře. Nebo souboru alespoň zrušíme práva pro čtení “zvenku”. Ale to určitě zvládnete sami.
# zapnout logování PHP
php_flag log_errors on
php_value error_log /logs/errors.txt
Komentáře
Váš komentář: