Gdzie MAMP przechowuje swój plik php.ini?

92

Niedawno dostałem Maca i nie jestem przyzwyczajony do programowania na Macu.

Mam MAMP Pro 1.9.6.1. Zlokalizowałem php.inii otrzymałem to:

$ locate php.ini
/Applications/MAMP/conf/php5.2/php.ini
/Applications/MAMP/conf/php5.3/php.ini
/Library/Application Support/appsolute/MAMP PRO/conf/php.ini
/private/etc/php.ini.default

Zmieniłem imiona wszystkich. Zrestartowano MAMP. Załadował się bez żadnych problemów (wiem, dziwne, prawda?). Używam PHP w wersji 5.2.

Wszystkie te pliki mają teraz różne nazwy (wykonywane jeden po drugim w celu eliminacji). Więc myślę, że uruchom ponownie Maca. To samo, MAMP nie ładował żadnych problemów, mimo że wszystkie php.inipliki zostały przeniesione. Na lampie to nawet się nie ładuje. Ale albo php.inibrakuje mi innego pliku (całkiem możliwe, że nie wiem jak updatedb), MAMP jest naprawdę inteligentny i po prostu wciąga je wszystkie (mniej prawdopodobne), albo nie używa żadnego.

James Vince
źródło
2
MAMP Pro wykorzystuje generowane dynamicznie php.ini. Musisz edytować szablon.
Florent,
Ricardo Martins Powinien być właściwą odpowiedzią James ...
Jonathan Solorzano
Używam MAMP 4 (darmowego), a moja ścieżka php.ini to/Applications/MAMP/bin/php/php7.1.1/conf/php.ini
Gavin

Odpowiedzi:

133

Uwaga: jeśli to nie pomoże, sprawdź poniżej odpowiedź Ricardo Martinsa.


Utwórz skrypt PHP zawierający <?php phpinfo() ?>w sobie, uruchom go z przeglądarki i poszukaj wartości Loaded Configuration File. Dzięki temu dowiesz się, którego php.inipliku PHP używa w kontekście serwera WWW.

drew010
źródło
7
Ciągnie go stąd / Library / Application Support / appsolute / MAMP PRO / conf / php.ini, ale wydaje się, że ładuje go ponownie przy każdym uruchomieniu
James Vince,
4
lub możesz nawet uruchomić echo '<?php phpinfo() ?>'|phpz terminala.
phyatt
4
Lub po prostu php -i(łatwiejsze do odczytania i krótsze niż echo '<?php phpinfo() ?>'|php). Uwaga: czasami wersja php na konsolę używa innego php.inipliku i może mieć inne ustawienia niż CGI lub Apache PHP.
drew010
5
na panelu mamp na localhost możesz po prostu kliknąć php.info z menu
Alex Borsody
1
Wymaga ponownego uruchomienia serwera, aby zastosować zmiany w php.ini.
Krzysztof Przygoda
75

Nie jestem pewien, czy w MAMP (non-PRO) jest to samo, ale MAMP zastępuje zmodyfikowany php.ini każdym .

W moim przypadku musiałem użyć menu MAMP, aby zmienić moje php.ini file( File -> Edit Template -> PHP -> PHP 5.xx -> php.ini).

Ricardo Martins
źródło
Wydaje się, że MAMP (non-Pro) v2.2 nie ma tej opcji (lub menu Plik)
Taylor Edmiston,
@tedmiston: Jeśli nie widzisz menu Plik, być może aktywowałeś opcję „ukryj symbol doku”. Jeśli to wyłączysz, będziesz mógł ponownie zobaczyć menu plików.
Qullbrune
1
@tt_de Mam pokazaną ikonę Docka, ale nawet w wersji 3 mój pasek menu wyświetla: „MAMP, Edycja, Serwery, Narzędzia, Pomoc”. Jest jakaś szansa, że ​​jesteś na komputerze z Linuksem? Być może umieścili pozycje menu MAMP w obszarze Plik na platformach innych niż OS X. Mimo to nie mam opcji „Edytuj szablon” w żadnym menu, ale mogę edytować pliki ręcznie z poziomu systemu plików.
Taylor Edmiston
@tedmiston: Przepraszam, jestem na OS X!
Qullbrune
@tt_de Ja też jestem. Dziwne.
Taylor Edmiston
28

Żeby było jaśniej (jak czytałem ten wątek, ale nie ZOBACZYŁEM rozwiązania, także gdyby było tutaj!), Mam ten sam problem i znalazłem przyczynę: modyfikowałem niewłaściwy plik php.ini!

Tak, w MAMP są 2 pliki php.ini:

  1. Aplikacje / MAMP / conf / php5.5.10 / php.ini
  2. Aplikacje / MAMP / bin / php / php5.5.10 / conf / php.ini

Właściwy plik php.ini to drugi: Applications / MAMP / bin / php / php5.5.10 / conf / php.ini

Aby to udowodnić, utwórz plik .php (nazwij go tak, jak chcesz, na przykład „info.php”) i umieść w nim proste phpinfo ()

<?php
echo phpinfo();

Otwórz go w przeglądarce i wyszukaj „Loaded Configuration File”: mój to „/Applications/MAMP/bin/php/php5.5.10/conf/php.ini”

Błąd był tutaj; Edytowałem Applications / MAMP / conf / php5.5.10 / php.ini, ale to jest zły plik do modyfikacji! W rzeczywistości, właściwy plik php.ini to ten w katalogu bin.

Zadbaj o tę tak małą różnicę, która spowodowała u mnie dosłownie półtorej godziny bólu głowy!

Aerendir
źródło
Dokładny katalog zależy od używanej wersji PHP, ale tak, ta ścieżka (../MAMP/bin/php/phpX/conf/php.ini) jest poprawna. Na wszelki wypadek wyedytowałem również plik php.ini.temp. Ustaw display_errors = On w obu przypadkach.
Jason Engage
To jest odpowiedź, której potrzebowałem, ponieważ nie mam wersji Pro.
Dreadnought
22

Plik, który musisz edytować, znajduje się w MAMP Pro i używa go przy php.inikażdym uruchomieniu.

  • Uruchom MAMP PRO
  • Edytować File > Edit Templates > PHP 5.3.2 php.ini
  • Zrestartuj MAMP Pro

Twoje zmiany powinny się zachować.

tim
źródło
5

Po prostu uruchom następujące polecenie z terminala, a pokaże ci załadowany plik konfiguracyjny w najprostszy sposób, jaki kiedykolwiek znalazłem.

php --ini
zarpio
źródło
5

Nie wiem, czy kiedykolwiek znalazłeś odpowiedź na to pytanie, ale NIE potrzebuję do tego MAMP PRO. Po prostu wejdź na właściwą ścieżkę, podążając za tym, co powiedzieli inni. To jest coś w rodzaju ...

MAMP-> bin-> php-> php (Twoja wersja php) -> conf-> php.ini

Kluczem jest tutaj miejsce, w którym edytujesz plik. Popełniłem błąd, edytując skomentowaną część pliku ini. W rzeczywistości musisz przewinąć w dół do LINII # 472, gdzie jest napisane „display_errors = Off i zmienić go na On. Mam nadzieję, że to pomoże każdemu

Jonathan Disla
źródło
2

Zmień /Applications/MAMP/conf/php5.2/php.ini, jeśli używasz wersji 5.2 php. Jeśli używasz wersji php 5.3, edytuj /Applications/MAMP/conf/php5.3/php.ini.

Jeśli używasz OSX Lion lub OSX Mountain Lion, polecam użycie domyślnej instalacji apache i php.

Pozdrawiam!

nicowernli
źródło
Myślę, że MAMP jest lepszą opcją niż domyślna, ponieważ zawiera wiele wersji PHP, a także kilka wstępnie skompilowanych akceleratorów PHP . Firma Apple uprzejmie usunęła preferencje udostępniania w sieci w Mountain Lion :(. Należy również pamiętać, że ścieżki MAMP 2.x dla PHP obejmują wersję pomocniczą (np MAMP/conf/php5.4.3.).
Stennie
2

Po uruchomieniu serwera MAMP na pasku narzędzi pojawi się link informacyjny php. Po kliknięciu otrzymasz wszystkie informacje o php wprowadź opis obrazu tutaj

Manikandan
źródło
1

Prawdopodobnie najszybszy sposób na dostęp do PHP.ini dla aktualnie załadowanej wersji PHP w MAMP PRO (v.4.2.1):

  1. Otwórz MAMP Pro
  2. Kliknij „PHP” w sekcji „Języki” na pasku bocznym
  3. Stuknij przycisk ze strzałką, znajdujący się tuż obok listy rozwijanej, która pozwala wybrać „Domyślną wersję” PHP.
Panos Spiliotis
źródło
1

To zależy od wersji PHP używanej przez MAMP. Możesz się o tym przekonać: /Applications/MAMP/conf/apache/httpd.confszukanie skonfigurowanegophp5_module .

Po tym, jak ktoś powiedział wcześniej, musisz przejść do binfolderu. Znajdziesz tam conffolder z rozszerzeniemphp.ini wnętrzem.

przykład: /Applications/MAMP/bin/php/php5.4.10/conf

Lew

leopinzon
źródło
1

Po przejrzeniu wszystkich opisanych tutaj rozwiązań najłatwiejszym sposobem znalezienia załadowanego php.inipliku jest przejście dophpinfo na załadowaną stronę MAMP, która pokaże załadowany plik php.ini.

Potwierdzi to również, czy parametry, które zmieniasz, takie jak max_file_size, zostały poprawnie zaktualizowane.

s89_
źródło
0

Mam tylko wersję MAMP inną niż pro, ale to, że się ładuje, nie oznacza, że ​​plik PHP został znaleziony / bez błędów.

Zmieniłem nazwy moich php.iniplików i MAMP nadal się uruchamiał, ale Apache zwrócił kilka błędów.

Co próbujesz zmienić w swoim php.inipliku?

soulston
źródło
0

Sprawdziłem wszystkie odpowiedzi i oczywiście użyłem phpinfo (), aby sprawdzić dokładną lokalizację php.ini. Nie widzę opcji Plik na pasku menu na moim Macu. Zmieniłem pliki php.ini i php.ini.temp w tym folderze. Bez zasłony.

Aż zdałem sobie sprawę, że zapomniałem odkomentować zmodyfikowaną linię always_populate_raw_post_data.

Michael Shang
źródło
0

Na moim Macu, z uruchomionym MAMP, mam kilka lokalizacji, które mogą być prawdopodobnie php.ini, więc zmodyfikowałem memory_limit do różnych wartości w 2 podejrzanych plikach, aby sprawdzić, który z nich wpłynął na rzeczywiste szczegóły strony MAMP PHP INFO. W ten sposób udało mi się ustalić, że jest to poprawny plik php.ini: /Applications/MAMP/bin/php/php7.2.10/conf/php.ini

Pomocniczy Joel
źródło
0

Ja też się z tym zmagałem. Moje zmiany nie zostały odzwierciedlone w phpInfo. Dopiero gdy zatrzymałem serwery, a następnie ponownie je uruchomiłem, moje zmiany zaczęły obowiązywać.

Trethewey
źródło