Najlepszy Sposób Na Poprawę Problemów Z Php Apache Debugowania Gdb

W ciągu ostatnich kilku dni niektórzy docelowi odbiorcy natknęli się na znanego pasożyta w gdb debug apache php. Ten problem występuje z powodu wielu czynników. Sprawdzimy je poniżej.

Potrzebujesz komputera, który jest szybszy, stabilniejszy i zoptymalizowany pod kątem wydajności? Następnie wypróbuj Reimage.

Unix | okno

Powiadomienie o awarii PHP

Nie było absolutnego powodu, aby wiedzieć, gdzie PHP zawodzi, ale prawdopodobnie mogą być oznaki.Zazwyczaj, gdy uzyskujesz dostęp na stronę, która ma być przetwarzana na zawsze (tj.poprzedniego bloku HTML), nagle pojawia się również komunikat „Dokument zawiera mało danych”.W twojej przeglądarce może to oznaczać, że PHP nie jest w stanie gdzieś po drodze.scenariusz. Inną możliwością sprawdzenia, czy PHP dosłownie zawodzi, jest spojrzenie na Apache.Dzienniki błędów i dodatkowo po (Apache segv 1.2) i segfault (Apache1.3).

Ważne!

Aby otrzymać bardzo dokładny traceback z konkretnymi poprawnymi informacjami, PHP musi zostać skonfigurowane.--enable-debug!

Jeśli nie masz jeszcze pliku głównego:

  • Usuń wszystkie warstwy spowodowane przez twoją powłokę, które możesz przegapić ze względu na rozmiar jądra:
  • tcsh: nieograniczony zrzut pamięci
  • bash/sh: ulimit -cUnlimited
  • Ustaw jako docelowy typ katalogu, w którym zazwyczaj uruchamiasz PHP, lub PHP umożliwiło httpd zapis, odczyt, zapis, aby stworzyć użytkownika pracującego razem z PHP.
  • Awaria PHP:
  • PHP CGI: SimpleQuit Perl w skrypcie, który nie działa
  • Uruchom moduł Apache PHP: httpd -X i skrypt połączenia powodujący awarię PHP
  • Świetny ogólny sposób, aby zawsze uzyskać jądro w systemie Linux

  • Skonfiguruj każde nasze jądro (uruchom to polecenie jako root):
  • echo “/core-%e.%p” > /proc/sys/kernel/core_pattern
  • Zrób optymistyczne PHP pozwala pisać do wyznaczonego katalogu.
  • Ustaw ulimit (więcej informacji).
  • Uruchom ponownie/uruchom PHP.
  • Potem każdy proces, który spowodował wyłączenie systemu i wstrzyknął PHP, mógł zostać wylogowany.core z folderu, w którym określono core_pattern.

    Gdy Twoja organizacja otrzyma plik główny:

  • Uruchom gdb ze ścieżką do httpd perl lub kompatybilnego pliku binarnego php w tym artykule pod tą ścieżką. do zapisanej wiary. Kilka przykładów:
  • gdb /usr/local/apache/sbin/httpd /usr/local/apache/sbin/core
  • gdb /home/user/dev/php-snaps/sapi/cli/php /home/user/dev/testing/core
  • W linii instrukcji gdb uruchom:
  • (gdb)bt
  • Jeśli nie możesz uzyskać tego głównego pliku:

  • Uruchom httpd -X dla gdb w ten sposób:
  • gdb /usr/local/apache/sbin/httpd
  • (gdb) działa z -X
  • Następnie potrzebujesz mobilnej przeglądarki internetowej i prawego wejścia na serwer, aby rozwiązać problem. Ona powinien poszukać naszej zachęty gdb i kilku postów z tym związanych stał się problemem. W tym momencie wpisz gdb:
  • (gdb)bt
  • a może taki, który zwykle jest uruchamiany z linii zarządzającej

    Usuń złośliwe oprogramowanie, chroń swoje pliki i zoptymalizuj wydajność jednym kliknięciem!