Instalacja PHP i MYSQL w OS X

System operacyjny OS X posiada ( jak to bywa w systemach opartych na Unixie ) w standardzie serwer Apache i interpreter języka PHP ( najczęściej niezbyt aktualną wersję ). Serwera MySQL nie uświadczymy w ogóle a PHP bez MySQLa to jak korzystanie z komputera bez myszki 🙂

AKTUALIZACJA PHP

Wersja PHP, którą znajdziemy w naszym systemie jest uzależniona od wersji systemu który aktualnie posiadamy ( Lion, Mountain Lion, Mavericks etc. ). PHP dołączany jest do serwera Apache jako moduł.
Wersja Apache w moich przypadku to: Apache/2.2.24 (Unix). Wersje serwera Apache sprawdzamy w konsoli wpisując: apachectl -v

Wersję PHP sprawdzamy w terminalu:

user@computer:$ php -v

Zainstalowanie określonej wersji PHP dla OS X można zrobić na kilka sposobów ( kompilacja, macports, skompilowane paczki ze skryptem instalacyjnym ). My skorzystamy z tej ostatniej opcji. Instalacja poprzez skrypt wygląda następująco:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

Gdzie po parametrze s podajemy interesującą nas wersję: 5.3, 5.4, 5.5, 5.6.
Np. najnowsza wersją jaką można zainstalować na poczciwym Lionie to 5.5.

UWAGA: Trzeba wykazać się cierpliwością, proces ściągania może trwać dość długo. W moim przypadku cały proces trwał ok. pół godziny.

Sprawdzamy w konsoli wersję nowo zainstalowanego PHP:

user@computer:$ /usr/local/php5/bin/php -v

I jeśli chcemy odwoływać się w konsoli do nowej wersji interpretera PHP to korzystamy z podanej powyżej ścieżki, gdyż wpisanie w konsoli tylko php uruchomi starą wersję ( ścieżka do niej jest w zmiennej środowiskowej PATH – i plik php jest przeszukiwany właśnie w tych ścieżkach.
Jak widać nowa wersja PHP posiada w standardzie moduł xdebug

Nie musimy martwić się, że stara wersja PHP zostanie nadpisana nową. Wciąż będziemy mieli do niej dostęp. Wystarczy odhaszkować linię odpowiedzialną za łądowanie modułu PHP i usunąć link symboliczny z nową wersją w katalogu other.

Po instalacji, w pliku: /etc/apache2/httpd.conf tak jak wspomniałem powyżej zostanie zahaszowana linia, która odpowiada za ładowanie modułu PHP ( stara wersja ):

#LoadModule php5_module        libexec/apache2/libphp5.so

Dodatkowo do katalogu /etc/apache2/other/ został dodany link symboliczny:
php-osx.conf -> /usr/local/php5/entropy-php.conf
w którym znajduje się informacja o dołączanym nowym module PHP. Jak widać ścieżki są inne przy ładowaniu modułu w zahaszowanej wersji w pliku httpd.conf jak i w pliku wskazywanym przez link symboliczny ( plik ten jest automatycznie includowany do pliku httpd.conf ). Aby nie stworzyć konfliktu pomiędzy wersjami modułu PHP, tylko jeden z tych modułów może być załadowany poprzez dyrektywe LoadModule !!!

Jeśli chodzi o pliki konfiguracyjne php.ini obu wersji to znajdują się w poniższych lokalizacjach:

/etc/php.ini - dla starej wersji PHP
/usr/local/php5/lib/php.ini - dla nowej wersji PHP

Pliki konfiguracyjne dla rozszerzeń PHP takich jak xdebug i innych znajdują się w katalogu:
/usr/local/php5/php.d/

I tam modyfikujemy konfiguracje naszych rozszerzeń PHP. Np. jeśli chcemy wyłączyć xdebug wpisujemy w konsoli: sudo pico 50-extension-xdebug.ini i zmieniamy opcje xdebug.default_enable=on na off.

Na koniec restart Apacha

sudo apachectl restart

INSTALACJA MYSQL

Ściągamy pakiet instalacyjny MySQL ze strony: Obraz DMG MySQL

Po zainstalowaniu MySQL w preferencjach systemowych ( System Preferences ) pojawi się ikonka z ustawieniami MySQL. W zasadzie mamy tam tylko dwie opcje. Właczamy nasz serwer: Sart MySQL i jeśli chcemy aby uruchamiał się zawsze po uruchomieniu systemu zaznaczamy Automatically Start MySQL Server on Startup.

Następnie aby program uruchamiający serwer MySQL był widoczny w każdej lokalizacji, musimy zaktualizować zmienną środowiskową PATH. Dodajemy tam ścieżkę w której znajduje się program uruchamiający serwer MySQL: /usr/local/mysql/bin/
Poniżej doklejona nowa ścieżka w pliku ~/.bash_profile. Jeśli nie masz takiego pliku, to utwórz go i wklej poniższą linię:

export PATH=~/bin:/usr/local/bin:/usr/local/mysql/bin:$PATH

Wpisując w konsoli:

echo $PATH

zobaczysz spis ścieżek w zmiennej środowiskowej PATH, sprawdź czy widnieje tam ścieżka do MySQL.

Teraz wystarczy ustawić hasło administratora baz:

mysqladmin -u root password {nowe_haslo}
mysqladmin -u root -p{nowe_haslo} -h localhost password {nowe_haslo}
mysqladmin -u root -p{nowe_haslo} reload

Dodaj komentarz