PHP
Kompilacja błędów i ostrzeżeń
Szukaj…
Uwaga: niezdefiniowany indeks
Wygląd :
Próba uzyskania dostępu do tablicy za pomocą klucza, który nie istnieje w tablicy
Możliwe rozwiązanie :
Sprawdź dostępność przed uzyskaniem do niej dostępu. Posługiwać się:
Ostrzeżenie: nie można modyfikować informacji nagłówka - nagłówki już wysłane
Wygląd :
Zdarza się, gdy skrypt próbuje wysłać nagłówek HTTP do klienta, ale wcześniej było już wyjście, co spowodowało, że nagłówki zostały już wysłane do klienta.
Możliwe przyczyny :
Drukuj, echo: Dane wyjściowe z instrukcji print i echo zakończą możliwość wysyłania nagłówków HTTP. Aby tego uniknąć, należy zrestrukturyzować przepływ aplikacji.
Nieprzetworzone obszary HTML: Nieprzetworzone sekcje HTML w pliku .php są również wysyłane bezpośrednio. Warunki skryptu, które wyzwalają wywołanie
header()
muszą być odnotowane przed jakimikolwiek surowymi blokami.<!DOCTYPE html> <?php // Too late for headers already.
Biała spacja przed ostrzeżeniami
<?php
dla ostrzeżeń „script.php linia 1”: Jeśli ostrzeżenie odnosi się do wyjścia w linii 1, to w większości jest to wiodąca biała spacja, tekst lub HTML przed otwierającym tokenem<?php
.<?php # There's a SINGLE space/newline before <? - Which already seals it.
Odniesienie z odpowiedzi SO autorstwa Mario
Błąd analizy: błąd składni, nieoczekiwany T_PAAMAYIM_NEKUDOTAYIM
Wygląd:
„Paamayim Nekudotayim” oznacza w języku hebrajskim „podwójny dwukropek”; dlatego ten błąd odnosi się do niewłaściwego użycia operatora podwójnego dwukropka (: ::
. Błąd jest zwykle spowodowany próbą wywołania metody statycznej, która w rzeczywistości nie jest statyczna.
Możliwe rozwiązanie:
$classname::doMethod();
Jeśli powyższy kod powoduje ten błąd, najprawdopodobniej musisz po prostu zmienić sposób wywoływania metody:
$classname->doMethod();
Drugi przykład zakłada, że $classname
jest instancją klasy, a doMethod()
nie jest metodą statyczną tej klasy.