GNU/Linux >> Znalost Linux >  >> Linux

Hlášení chyb PHP:Jak povolit a zobrazit všechny chyby / varování

Úvod

PHP je skriptovací jazyk na straně serveru používaný při vývoji webových aplikací. Jako skriptovací jazyk se PHP používá k psaní kódu (nebo skriptů) k provádění úkolů. Pokud skript narazí na chybu, PHP může vygenerovat chybu do souboru protokolu.

V tomto kurzu se dozvíte, jak povolit hlášení chyb PHP, aby zobrazovalo všechna varování. Také se ponoříme do vytváření souboru protokolu chyb v PHP.

Co je to chyba PHP?

Chyba PHP nastane, když se vyskytne problém v kódu PHP. I něco jednoduchého může způsobit chybu, jako je použití nesprávné syntaxe nebo zapomenutí středníku, což vyvolá upozornění. Nebo může být příčina složitější, jako je volání nesprávné proměnné, což může vést k fatální chybě, která zhroutí váš systém.

Jak zobrazit všechny chyby PHP

Pokud nevidíte chyby, možná budete muset povolit hlášení chyb.

Povolení hlášení chyb v PHP , upravte soubor kódu PHP a přidejte následující řádky:

<?php
error_reporting(E_ALL);
?>

Můžete také použít ini_set příkaz pro povolení hlášení chyb:

<?php
ini_set('error_reporting', E_ALL);
?>

Upravte soubor php.ini, abyste povolili hlášení chyb PHP

Pokud jste nastavili svůj PHP kód tak, aby zobrazoval chyby a stále nejsou vidět, možná budete muset provést změnu v php.ini soubor.

V distribucích Linuxu je soubor obvykle umístěn v /etc/php.ini složka.

Otevřete php.ini v textovém editoru.

Poté upravte display_errors řádek na On .

Toto je příklad opravy v textovém editoru:

Upravte soubor .htaccess pro zapnutí Hlášení chyb

Soubor .htaccess soubor, který funguje jako hlavní konfigurační soubor, se obvykle nachází v kořenovém nebo veřejném adresáři. Tečka na začátku znamená, že je skrytý. Pokud používáte správce souborů, budete muset upravit nastavení, abyste viděli skryté soubory.

Otevřete soubor .htaccess soubor pro úpravy a přidejte následující:

php_flag display_startup_errors on
php_flag display_errors on

Pokud jsou tyto hodnoty již uvedeny, ujistěte se, že jsou nastaveny na zapnuto .

Uložte soubor a ukončete.

Další užitečné příkazy

Chcete-li zobrazit pouze závažná varování a chyby analýzy , použijte následující:

<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE);
?>

Můžete přidat jakékoli další typy chyb, které potřebujete. Stačí je oddělit trubkou | symbol.

Tento seznam obsahuje všechny předdefinované konstanty pro typy chyb PHP.

Jednou z užitečných funkcí je symbol „ne“.

Chcete-li vyloučit konkrétní typ chyby z hlášení:

<?php
error_reporting(E_ALL & ~E_NOTICE)
?>

V tomto příkladu výstup zobrazuje všechny chyby kromě chyb upozornění.

Jak vypnout hlášení chyb PHP

Chcete-li vypnout nebo zakázat hlášení chyb v PHP, nastavte hodnotu na nulu. Použijte například fragment kódu:

<?php
error_reporting(0);
?>

Jak vytvořit soubor protokolu chyb v PHP

Protokoly chyb jsou cenným zdrojem při řešení problémů s PHP.

Chcete-li zobrazit protokoly chyb PHP, upravte soubor .htaccess přidáním následujícího:

php_value error_log logs/all_errors.log

Pokud nemáte přístup k .htaccess můžete upravit soubor httpd.conf nebo apache2.conf soubor přímo.

Tento protokol je obvykle uložen v adresáři /var/log/httpd/ nebo /var/log/apache2/ adresář.

Chcete-li povolit protokolování chyb, upravte svou verzi souboru a přidejte následující:

ErrorLog “/var/log/apache2/website-name-error.log”

Můžete nahradit httpd pro apache2 V případě potřeby. Podobně, pokud používáte nginx , můžete tento adresář použít pro protokol chyb.

Jak zobrazit chyby PHP na webové stránce

Protokoly chyb jsou cenným zdrojem při řešení problémů s PHP.

Chcete-li zobrazit protokoly chyb PHP, upravte soubor .htaccess přidáním následujícího:

php_value error_log logs/all_errors.log

Pokud k souboru nemáte přístup, můžete upravit soubor httpd.conf nebo apache2.conf soubor přímo.

Tento protokol je obvykle uložen v adresáři /var/log/httpd/ nebo /var/log/apache2/ adresář.

Chcete-li povolit protokolování chyb, upravte svou verzi souboru a přidejte následující:

ErrorLog “/var/log/apache2/website-name-error.log”

Můžete nahradit httpd pro apache2 V případě potřeby. Podobně, pokud používáte nginx , můžete tento adresář použít pro protokol chyb.


Linux
  1. Jak filtrovat protokol Dmesg, abyste viděli pouze chyby?

  2. Jak zobrazit protokol chyb PHP nebo Apache online v prohlížeči?

  3. Jak povolit mysqlnd pro php?

  1. Jak potlačit všechna varování, která jsou považována za chyby pro zkrácení formátu

  2. Jak povolím SQLite na Linuxu/Apache/PHP?

  3. Jak získám upozornění na chyby ECC v Linuxu?

  1. Jak odstranit 500 chyb

  2. Jak zapnout protokolování chyb PHP

  3. Jak vypsat všechna nainstalovaná rozšíření PHP