Pytanie Ustawienia w górę xdebug na MAMP PRO


Próbuję skonfigurować xdebug na mamp pro bez powodzenia. Przeszukałem cały Internet, nic mi nie pomogło.

Najpierw próbowałem po prostu odkomentować następujący wiersz w php.ini:

zend_extension = "/ Applications / MAMP / bin / php / php5.4.4 / lib / php / extensions / no-debug-non-zts-20100525 / xdebug.so"

Następnie wypróbowałem kreatora: http://xdebug.org/wizard.php

Następnie próbowałem dodać te linie do php.ini:

xdebug.default_enable = 1

xdebug.remote_enable = 1

xdebug.remote_handler = dbgp

xdebug.remote_host = localhost

xdebug.remote_port = 9000

xdebug.remote_autostart = 1

Nic nie pomaga. Nie widzę xdebug w moim phpinfo.

Wersja MAMP PRO: 2.1.1

Wersja PHP: PHP 5.4.4

Dzięki!


18
2017-07-23 18:19


pochodzenie




Odpowiedzi:


Od wydanie MAMP 2.01 XDebug jest już dołączony.

Rozwiązany. Tutaj jest seminarium to pomogło mi:

  1. Uruchom MAMP

  2. Edytuj plik szablonu php.ini przez MAMP, aby włączyć rozszerzenie. Edytuj plik szablonu poprzez Plik -> Edytuj szablon -> PHP -> PHP php.ini

    edit php.ini template for mamp on mac osx

  3. Zmodyfikuj dolną część pliku szablonu php.ini tak, aby kończył się wyglądem, jakbyś chciał wydrukować profil

    [xdebug]
    zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
    xdebug.profiler_enable = 1
    xdebug.profiler_output_dir = "/tmp"
    ; DONT REMOVE: MAMP PRO php5.3.6.ini template compatibility version: 1
    

    Jeśli nie chcesz wyświetlać danych wyjściowych profilu i chcesz uruchomić xdebug, użyj

    [xdebug]
    zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
    xdebug.profiler_enable = 0
    xdebug.profiler_output_dir = "/tmp"
    ; DONT REMOVE: MAMP PRO php5.3.6.ini template compatibility version: 1
    

    Teraz, gdy masz błędy, jeśli zostaną wysłane do standardowego wyjścia, zobaczysz coś takiego

    Mój php.ini plik:

    edited php.ini file to run xdebug on mamp mac osx

  4. Zapisz edytowany szablon i zamknij okno edycji

  5. Uruchom ponownie MAMP

  6. Otwórz stronę WebStart MAMP i przejdź do zakładki PHPInfo. Sprawdź, czy działa Xdebug. Wykonywanie wyszukiwania w oknie przeglądarki dla "Xdebug" ułatwia to.

    confirm xdebug running on mamp on mac osx

  7. Jeśli używałeś tych samych ustawień, które mam powyżej, po uruchomieniu kodu PHP, Xdebug wstawi cachegrind.out pliki w katalogu '/ tmp'. Otwórz swój katalog "/ temp" i uruchom jeden z plików PHP, aby upewnić się, że działa poprawnie. Możesz otworzyć katalog '/ tmp' w wyszukiwarce, otwierając terminal i działając

    open /tmp
    

    cachegrind.out output in /temp folder for mamp on mac osx

  8. Teraz możesz użyć dowolnej aplikacji, która rozumie pliki cachegrind.out, aby wyświetlić dane profilu. Aplikacje takie jak KCacheGrind (Linux / Windows, KDE), WinCacheGrind (Windows), xdebugtoolkit, i Webgrind. Poszedłem prostą drogą i wykorzystałem webgrind. Webgrind to prosta aplikacja internetowa, którą można uruchomić lokalnie na MAMP i automatycznie wyszuka pliki cachegrind.out za pomocą jednego kliknięcia. Kontynuuj, aby uzyskać instrukcje dotyczące konfigurowania za pomocą webgrind.

  9. Pobierz Webgrind

  10. Skonfiguruj hosta Webgrind na MAMP, aby uruchomić Webgrind

    Setup webgrind as host on mamp to process xdebug php profile output

  11. Odwiedź konfigurację adresu webgrind w lokalnej instalacji MAMP. Mój był po prostu webgrind /

  12. Jeśli masz już pliki wyjściowe cachegrind, powinieneś być w stanie wybrać plik z menu "Auto (najnowszy)" lub pozostawić go w Auto i kliknąć aktualizację, która ujawni dane profilu

  13. Rzucaj pompą świętą pięść


24
2017-07-23 21:36



@note: plik musi być edytowany z menu MAMP. Edycja tego z FINDER jest bezużyteczna @ _ @ - GusDeCooL
Dzięki za link. Ale obawiam się, że w przyszłości może on zostać odłączony, a wtedy ta odpowiedź będzie bezużyteczna. - Chris Harrison
W przypadku, gdy @ ChrisHarrison się martwi, oto krótka historia: MAMP (pro lub nie) jest dostarczany z zainstalowanym xdebug, więc wszystko, co musisz zrobić, aby go włączyć, to odkomentowanie linii w php.ini. Zwykle jest wokół ostatniej linii, ale możesz szukać [xdebug]. - J.D.
Aha, i jeśli edytujesz plik bezpośrednio, ścieżka jest /MAMP/bin/php/php<version>/conf/php.ini. I nie zapomnij ponownie uruchomić serwerów. - J.D.
Od 3.0.? wersja na karcie PHP widać: Debugger - Aktywuj XDebug - rozochkin