Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Jurko 12. 01. 2018, 16:25:03

Název: Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Jurko 12. 01. 2018, 16:25:03
Zdravím, jak zapnout v php výpisování všech chyb, upozornění, varování a já nevím čeho všeho na obrazovku. Třeba nějaký developerský režim nebo tak něco?
V php.ini jsem změnil jediný řádek
z
;display_errors = Off
na
display_errors = On
ale asi to nestačí. Dostávám bílou stránku v prohlížeči a nemůžu na to přijít.
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Danny 12. 01. 2018, 16:51:59
http://php.net/manual/en/debugger.php (http://php.net/manual/en/debugger.php)
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Jenda 12. 01. 2018, 16:54:26
Možná to někdo další overridnul přes ini_set. Chyby to píše na stderr (což bych doporučoval, protože už se takhle jednou podařilo jednomu velkému e-shopu vypsat chybu, ve které bylo vidět heslo k databázi) a to se loguje do error logu tvého webserveru.
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Jurko 12. 01. 2018, 17:08:13
http://php.net/manual/en/debugger.php (http://php.net/manual/en/debugger.php)
Používám to již dlouho - neřeší to můj problém.
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Kit 12. 01. 2018, 17:09:11
Kód: [Vybrat]
error_reporting(E_ALL);
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Jurko 12. 01. 2018, 17:10:22
Možná to někdo další overridnul přes ini_set. Chyby to píše na stderr (což bych doporučoval, protože už se takhle jednou podařilo jednomu velkému e-shopu vypsat chybu, ve které bylo vidět heslo k databázi) a to se loguje do error logu tvého webserveru.
Jenže já to potřebuji vypsat všechno na obrazovku, je to zatím na localhost-u, tak je mi to putna. Díky
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Jurko 12. 01. 2018, 17:14:46
Kód: [Vybrat]
error_reporting(E_ALL);
no a co s tím? nastavit v souboru php.ini, nebo to dát do php souboru?
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Kit 12. 01. 2018, 17:16:10
Pokud máš bílou obrazovku, tak máš nejspíš chybu v syntaxi. Spuštěním přes CLI ji snadno najdeš.

Také to může být chyba HTTP, tu najdeš v logu.

Tyhle záležitosti testuji tak, že si PHP spustím jako server. Vypíše i chybějící obrázky, CSS i JS.
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: dw 12. 01. 2018, 18:08:40
Kód: [Vybrat]
error_reporting(E_ALL);
no a co s tím? nastavit v souboru php.ini, nebo to dát do php souboru?
Ak nevies kam s tym, tak sa na to radsej vykasli :D

Vazne: error_reporting() je fce php, takze ju das do php kodu, ta ale budefungovat ak mas povolene menit ini nastavenia. Alebo v php.ini nastavis error_reporting = E_ALL. Samozrejme sa pozri ci sa ti to neprepisuje v .htaccess. Pripadne skontroluj ci v kode nemas nastaveny error handler ktory to odchyti ale nezobrazi.
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Jurko 12. 01. 2018, 18:27:40
Pokud máš bílou obrazovku, tak máš nejspíš chybu v syntaxi. Spuštěním přes CLI ji snadno najdeš.

Také to může být chyba HTTP, tu najdeš v logu.

Tyhle záležitosti testuji tak, že si PHP spustím jako server. Vypíše i chybějící obrázky, CSS i JS.
A je to moc složitý to tak zprovoznit ?
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Jan Forman 12. 01. 2018, 18:32:36
Pokud někdo loguje na výstup klienta není normální.
Naposledy jsem si takhle načetl celou infrastrukturu docela velké a známé firmy (kde běží který Oracle atd) - nešlo o PHP podotýkám. Neumím si představit větší amatérismus.
Logujte prostě do souboru...

V konfiguraci serveru to může být zakázané, jinak je globální nastavení a pak per user. Normální lidi to budou mít zablokované a pravděpodobně budou logovat do domovského adresáře uživatele.

jinak to jsou tyto proměnné
log_errors = on/off
error_log = /cesta.log
display_errors = on/off
error_reporting = E_ALL

Zend měl debugger společně se Zend Studiem.
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Jenda 12. 01. 2018, 19:05:50
A je to moc složitý to tak zprovoznit ?

php -S localhost:8099
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Pavouk106 12. 01. 2018, 19:08:26
E_ALL je skvělá věc. Mám to nastavený globálně a jakpak se mi hned podařilo omezit všechny notice a warning atd. Teď píšu pěknej čistej kód (z pohledu errorů, ne z pohledu programátora ;D ). Nenechte se mýlit, v PHP si píšu skripty jen tak pro sebe...
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Ivan Nový 12. 01. 2018, 20:09:08
Kint
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Kit 12. 01. 2018, 21:53:04
E_ALL je skvělá věc. Mám to nastavený globálně a jakpak se mi hned podařilo omezit všechny notice a warning atd. Teď píšu pěknej čistej kód (z pohledu errorů, ne z pohledu programátora ;D ). Nenechte se mýlit, v PHP si píšu skripty jen tak pro sebe...

V práci se kdekdo divil, že jsem si zapnul vypisování noticek, které se běžně ignorují. Ještě protaženější ksichty jsem viděl, když zmizely fatální chyby, kterých dříve bylo v logu jak naseto a nikdo si s nimi nevěděl rady. Stačilo sledovat noticky...
Název: Re:Jak zapnout něco lepšího než je výpis chyb v PHP
Přispěvatel: Pavouk106 12. 01. 2018, 22:46:50
E_ALL je skvělá věc. Mám to nastavený globálně a jakpak se mi hned podařilo omezit všechny notice a warning atd. Teď píšu pěknej čistej kód (z pohledu errorů, ne z pohledu programátora ;D ). Nenechte se mýlit, v PHP si píšu skripty jen tak pro sebe...

V práci se kdekdo divil, že jsem si zapnul vypisování noticek, které se běžně ignorují. Ještě protaženější ksichty jsem viděl, když zmizely fatální chyby, kterých dříve bylo v logu jak naseto a nikdo si s nimi nevěděl rady. Stačilo sledovat noticky...
Můžou se ignorovat, ale když se čtou, předchází se tím zbytečným problémům :-) Samozřejmě jen když se následně notice eliminujou.