Najprostszy sposób na aktywację PHP i MySQL w systemie Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion)?

102

Jaki jest najłatwiejszy sposób aktywacji PHP i MySQL w systemie Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion)?

Wolałbym użyć dowolnej dołączonej wersji, zanim skorzystam z pobierania ze stron PHP lub MySQL. To również wyklucza MAMP i podobne.

Czuję się dobrze w wierszu poleceń w Terminalu.

Matt Sephton
źródło

Odpowiedzi:

142

Otwórz dobry edytor tekstu (polecam TextMate, ale darmowy TextWrangler, vi lub nano też to zrobi) i otwórz:

/etc/apache2/httpd.conf

Znajdź linię:

"#LoadModule php5_module        libexec/apache2/libphp5.so"

I odkomentuj go (usuń #).

Pobierz i zainstaluj najnowszą wersję MySQL z mysql.com. Wybierz wersję x86_64 dla Intel (chyba że Twój Intel Mac to oryginalny Macbook Pro lub Macbook, które nie są chipami 64-bitowymi. W takich przypadkach użyj 32-bitowej wersji x86).

Zainstaluj wszystkie komponenty MySQL. Korzystając z panelu wstępnego, uruchom MySQL.

W Preferencjach systemu udostępniania włącz (lub wyłącz / włącz) Udostępnianie w Internecie.

Powinieneś teraz mieć uruchomiony Apache / PHP / MySQL.

W wersjach 10.4 i 10.5 konieczne było zmodyfikowanie pliku php.ini, aby wskazywał poprawną lokalizację mysql.sock. Istnieją doniesienia, że ​​zostało to naprawione w wersji 10.6, ale wydaje się, że nie dotyczy to nas wszystkich, biorąc pod uwagę niektóre z poniższych komentarzy.

TWLATL
źródło
10
jeśli ktoś się zastanawia, gdzie jest php.ini, nie ma żadnego! ale możesz dodać jeden do /etc, kopiując /etc/php.ini.defaultdo/etc/php.ini
cregox
11
a strona „To działa” jest poniżej/Library/WebServer/Documents/index.html.en
cregox
1
Na koniec musiałem skopiować plik php.ini.default w php.ini i pliki PHP zaczęły być uruchamiane tak, jak powinny.
kiamlaluno
3
Aby skorzystać z MySQL, musiałem także zmienić domyślne gniazdo, którym w moim przypadku było /tmp/mysql.sock (zainstalowałem MySQL 5.5).
kiamlaluno
7
Ponadto, po zapisaniu pliku .conf, możesz po prostu użyć polecenia sudo apachectl restartzamiast wyłączać udostępnianie w Internecie.
aaaidan
17

Aby zakończyć konfigurację lub MySQL:

sudo vim /etc/profile
  1. Dodaj alias

    alias mysql=/usr/local/mysql/bin/mysql
    alias mysqladmin=/usr/local/mysql/bin/mysqladmin
  2. Następnie ustaw hasło roota

    mysqladmin -u root password 'yourPassword'
  3. Następnie możesz zalogować się za pomocą

    mysql -u root -p
mdskinner
źródło
Lubię to! Zamiast bawić się PATH, dodaj alias +1
brutuscat
1
Pamiętaj też, aby zamknąć / ponownie otworzyć sesję terminala, aby aliasy zaczęły obowiązywać.
gravyface
4

Zdecydowanie wolę HomeBrew od MacPorts do instalowania oprogramowania ze źródła.

HomeBrew sekwestruje wszystko w / usr / local / Cellar, więc nie wypluwa plików wszędzie. (Tak, MacPorts przechowuje wszystko w / opt / local, ale wymaga dostępu sudo i nie ufam MacPorts z rootem).

Instalacja MySQL jest tak prosta, jak:

brew install mysql
mysql_install_db

Aby uruchomić mysql, w Terminalu wpisz:

mysqld&

Jest sposób, aby uruchomić go po uruchomieniu, ale ja lubię uruchamiać go ręcznie.

Książę
źródło
„brew link mysql” utworzy pewną liczbę dowiązań symbolicznych w / usr / local / bin itd.
Duke,
Nie jestem pewien, czy rozumiem komentarz dotyczący „niechlujnie wypluwanych plików”. MacPorts sekwestruje wszystko w / opt / local, więc wydaje się równoważne. Przypuszczam, że od czasu do czasu widziałem coś umieszczonego w / Applications / MacPorts (np. AquaTerm dla gnuplot), ale jest to bardzo rzadki wyjątek i zwykle z dobrego powodu (np. AquaTerm to pakiet .app), a nawet wtedy go zachowuje zorganizowane w jednym katalogu ...
Ethan
1
Aha, i łatwiej mi jest po prostu dodać / opt / local / bin do mojej $ PATH i -I / opt / local / include do CPPFLAGS, -L / opt / local / lib do LDFLAGS, a potem nie muszę pamiętać aby ustawić linki dla każdego instalowanego pakietu ...
Ethan
Moje użycie linku symbolicznego było częściowo oparte na ignorancji; jest to całkowicie niepotrzebne. Po prostu nie ufam dużym skryptom instalacyjnym z rootem. A jeśli nie sądzisz, że MacPorts rozkłada pliki w wielu katalogach, po prostu spójrz na instrukcje dotyczące dezinstalacji: guide.macports.org/chunked/ ...
Duke,
4

To niewidoczny folder. Po prostu naciśnij Command+ Shift+ G(przeniesie Cię do pozycji menu Idź do folderu) i wpisz /etc/.

Następnie przeniesie Cię do tego folderu.

asdf1
źródło
3

To mi bardzo pomaga:

http://maestric.com/doc/mac/apache_php_mysql_snow_leopard

Działa również w systemie Mac OS X Lion: D

.:EDYTOWAĆ:. W moim przypadku panel wstępny pozwala tylko na uruchamianie i zatrzymywanie mysql, ale po kilku problemach go odinstalowałem. Jeśli potrzebujesz aplikacji do uruchamiania zapytań i tworzenia bazy danych, możesz użyć: Sequel Pro (za darmo) lub Navicat

Jeśli potrzebujesz uruchomić i zatrzymać mysql w ~ / .bash_profile, możesz dodać te linie:

#For MySQL
alias mysql_start="/Library/StartupItems/MySQLCOM/MySQLCOM start"
alias mysql_stop="/Library/StartupItems/MySQLCOM/MySQLCOM stop"

Po przeładowaniu konsoli wystarczy zadzwonić:

$mysql_start 

lub

$mysql_stop 

agreding pożądanego działania. Mam nadzieję, że ci pomogła.

workdreamer
źródło
Czy panel wstępny MySQL działa dla Ciebie w Lion? To znaczy, czy może włączać / wyłączać MySQL?
Matt Sephton,
1
nie potrzebuję panelu wstępnego, ale to rozwiązuje Twoje pytanie? : stackoverflow.com/questions/3027479/…
workdreamer
Ale panel wstępny pozwala tylko na uruchamianie i zatrzymywanie mysql. Ponownie zredagowałem swój post, ponieważ tutaj nie jest sformatowany.
workdreamer
1

Zgodziłbym się z Benjaminem, albo zainstaluję MAMP, albo MacPorts ( http://www.macports.org/ ). Utrzymanie oddzielnej instalacji PHP jest prostsze i pozwala uniknąć zepsucia podstawowej instalacji PHP, jeśli popełnisz jakiekolwiek błędy!

MacPorts jest nieco lepsze do instalowania innego oprogramowania, takiego jak ImageMagick. Zobacz pełną listę dostępnych portów pod adresem http://www.macports.org/ports.php

MAMP naprawdę obsługuje PHP, Apache i MySQL, więc wszystkie przyszłe moduły PHP, które chcesz, będą musiały zostać ręcznie włączone. Jest jednak niezwykle łatwy w użyciu.

simonrjones
źródło
0

Biorąc pod uwagę, że nie został jeszcze wydany, zakładam, że jest to pytanie z wyprzedzeniem lub masz kompilację programisty. Jak wspomniał Benjamin, MAMP to najłatwiejszy sposób. Jeśli jednak chcesz zainstalować natywną, proces powinien wyglądać jak 10.5. PHP jest domyślnie instalowane na OS X (w niektórych przypadkach nie zawsze jest aktywowane), po prostu pobierz 32-bitową wersję MySQL, uruchom Apache i powinieneś być gotowy. Może być konieczne dostosowanie Apache do PHP lub MySQL, w zależności od tego, jakie wersje są obecne. Nie musiałem niczego poprawiać, żeby to działało.

machuga
źródło
Poza interesem - Snow Leopard jest 64-bitowy, dlaczego więc wybrać 32-bitową wersję MySQL?
Matt Sephton
1
Leopard, a nawet Tiger w przypadku większości rzeczy, które moim zdaniem, są zdolne do 64-bitowego. 64-bitowy MySQL ma pewne problemy z niektórymi innymi pakietami, niekoniecznie bezpośrednio związanymi z PHP, ale powiedzmy, że wypróbował Pythona - 64-bitowy MySQL powoduje poważne problemy z pakietem MySQLDB. Jest w pełni użyteczny, ale niestety nie wszystko jeszcze się udało.
machuga
0

Do Twojej wiadomości - jeśli ktoś ma problemy z uruchomieniem Apache i otrzymaniem błędów dotyczących

/usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument

to z powodu niedawnej aktualizacji Apache w Snow Leopard. Naprawa jest łatwa, wystarczy otworzyć /usr/sbin/apachectli ustawićULIMIT=""

http://blog.deversus.com/2010/11/mac-os-1065-apachectl-usrsbinapachectl-line-82-ulimit-open-files-cannot-modify-limit-invalid-argument/

cabgfx
źródło
0

Jeśli dokonałeś aktualizacji do Mac OS X 10.8 Mountain Lion i wcześniej miałeś działający system, wszystko, co powinieneś zrobić, to ponownie włączyć PHP, jak w kroku 1 powyższej wybranej odpowiedzi.

Możesz również znaleźć następujące okienko preferencji przydatne do zarządzania „udostępnianiem sieci” (serwer WWW Apache), które zastępuje funkcje systemowe usunięte w systemie OS X 10.8: http://clickontyler.com/blog/2012/02/web-sharing-mountain -Lew/

Musiałem również ponownie dodać linię zawierającą moje wirtualne hosty do httpd.conf

Matt Sephton
źródło
0

Oprócz wersji natywnych, ale możesz chcieć wypróbować BitNami MAMP Stacks (zastrzeżenie, jestem jednym z programistów). Są to całkowicie bezpłatne, kompleksowe pakiety Apache, MySQL, PHP i kilku innych bibliotek i narzędzi innych firm, które są przydatne podczas lokalnego programowania. W szczególności są one całkowicie samowystarczalne, więc możesz mieć kilka zainstalowanych w tym samym czasie, z różnymi wersjami Apache i MySQL i nie będą się wzajemnie zakłócać. Możesz je pobrać z http://bitnami.org/stack/mampstack lub bezpośrednio ze sklepu z aplikacjami Mac OS X https://itunes.apple.com/app/mamp-stack/id571310406

Daniel Lopez
źródło
0

ammps był dla mnie bardzo łatwy i ma ładną konfigurację internetową:

crizCraig
źródło
Wolę standardowe, dołączone wersje, zobacz pytanie.
Matt Sephton,
0

Tutaj jest świetny przewodnik:

https://discussions.apple.com/docs/DOC-3083

Jednak pierwsza próba nie zadziałała. Znalazłem tę wskazówkę: uruchom „httpd -t” w Terminao, aby sprawdzić składnię plików konfiguracyjnych. Okazuje się, że użycie funkcji kopiuj i wklej z samouczka wprowadziło kilka dziwnych znaków. Po naprawieniu to działało świetnie. W przewodniku znajduje się również kilka linków do dodawania MySQL.

To zadziałało dla mnie znacznie lepiej niż MAMP. W przypadku MAMP miałem około 20 sekund opóźnienia, zanim zmiany w pliku .php zostały odzwierciedlone w przeglądarce po odświeżeniu, nawet jeśli wyczyściłeś pamięć podręczną, historię, pliki cookie itp.

Ten problem został rozwiązany w MAMP PRO, ale MAMP PRO miał nowy problem: pliki .php były pobierane zamiast renderowania jako strona w przeglądarce! Skontaktowałem się z pomocą techniczną, a oni nie wiedzieli, co się dzieje.

Wbudowany serwer Apache nie miał żadnego z tych problemów. Zdecydowanie droga do zrobienia. Poniższy przewodnik jest prawie identyczny z powyższym, ale zawiera komentarze użytkowników, które są pomocne:

http://osxdaily.com/2012/09/02/start-apache-web-server-mac-os-x/#comment-572991

Vern Jensen
źródło