Einfachste Möglichkeit, PHP und MySQL unter Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion) zu aktivieren?

102

Was ist der einfachste Weg, um PHP und MySQL unter Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion) zu aktivieren?

Ich würde es vorziehen, gebündelte Versionen zu verwenden, bevor ich von den PHP- oder MySQL-Websites herunterlade. Das schließt auch MAMP und ähnliches aus.

Ich fühle mich an der Kommandozeile im Terminal wohl.

Matt Sephton
quelle

Antworten:

142

Öffnen Sie einen guten Texteditor (ich würde TextMate empfehlen, aber der kostenlose TextWrangler oder vi oder nano reichen auch aus) und öffnen Sie:

/etc/apache2/httpd.conf

Finden Sie die Linie:

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

Und kommentieren Sie es aus (entfernen Sie das #).

Laden Sie die neueste MySQL-Version von mysql.com herunter und installieren Sie sie. Wählen Sie die x86_64-Version für Intel (es sei denn, Ihr Intel Mac ist das ursprüngliche Macbook Pro oder Macbook, bei dem es sich nicht um 64-Bit-Chips handelt. Verwenden Sie in diesen Fällen die 32-Bit-x86-Version).

Installieren Sie alle MySQL-Komponenten. Starten Sie MySQL über das Einstellungsfenster.

Aktivieren Sie in der Voreinstellung "Freigabesystem" die Webfreigabe (oder deaktivieren Sie sie, wenn sie bereits aktiviert war).

Sie sollten jetzt Apache / PHP / MySQL ausführen.

In 10.4 und 10.5 musste die Datei php.ini geändert werden, um auf den korrekten Speicherort von mysql.sock zu verweisen. Es gibt Berichte, dass dies in 10.6 behoben ist, aber dies scheint angesichts einiger der folgenden Kommentare nicht für alle von uns der Fall zu sein.

TWLATL
quelle
10
Wenn sich jemand fragt, wo das ist php.ini, gibt es keine! aber Sie können eine hinzufügen, /etcindem Sie /etc/php.ini.defaultnach/etc/php.ini
cregox
11
und die Seite "Es funktioniert" ist unter/Library/WebServer/Documents/index.html.en
Cregox
1
Am Ende musste ich die Datei php.ini.default in php.ini kopieren und PHP-Dateien wurden so ausgeführt, wie sie sein sollten.
Kiamlaluno
3
Um MySQL verwenden zu können, musste ich auch den Standard-Socket ändern, in meinem Fall /tmp/mysql.sock (ich habe MySQL 5.5 installiert).
Kiamlaluno
7
Nach dem Speichern der .conf können Sie auch einfach den Befehl verwenden, sudo apachectl restartanstatt die Webfreigabe auszuschalten.
aaaidan
17

So vervollständigen Sie Ihr Setup oder MySQL:

sudo vim /etc/profile
  1. Alias ​​hinzufügen

    alias mysql=/usr/local/mysql/bin/mysql
    alias mysqladmin=/usr/local/mysql/bin/mysqladmin
  2. Legen Sie dann Ihr Root-Passwort fest

    mysqladmin -u root password 'yourPassword'
  3. Dann können Sie sich mit anmelden

    mysql -u root -p
mdskinner
quelle
Ich mag das! Anstatt mit dem Pfad zu spielen, fügen Sie einen Alias ​​+1
brutuscat
1
Denken Sie auch daran, Ihre Terminalsitzung zu schließen / erneut zu öffnen, damit Ihre Aliase wirksam werden.
Soße Gesicht
4

Ich bevorzuge HomeBrew gegenüber MacPorts, um Software von der Quelle zu installieren.

HomeBrew bindet alles in / usr / local / Cellar, damit keine Dateien überall verteilt werden. (Ja, MacPorts behält alles in / opt / local bei, erfordert jedoch einen Sudo-Zugriff, und ich vertraue MacPorts nicht mit root.)

Die Installation von MySQL ist so einfach wie:

brew install mysql
mysql_install_db

Um MySQL zu starten, geben Sie im Terminal Folgendes ein:

mysqld&

Es gibt eine Möglichkeit, es beim Booten zu starten, aber ich möchte es gerne manuell starten.

Herzog
quelle
"Brew Link MySQL" erstellt eine Reihe von Symlinks in / usr / local / bin usw.
Duke
Ich bin mir nicht sicher, ob ich den Kommentar "Dateien unordentlich ausspucken" verstehe. MacPorts bindet alles in / opt / local ab, daher scheint es gleichwertig zu sein. Ich nehme an, gelegentlich habe ich etwas in / Applications / MacPorts gesehen (z. B. AquaTerm für Gnuplot), aber dies ist die sehr seltene Ausnahme und normalerweise für einen guten Zweck (z. B. AquaTerm ist ein .app-Bundle), und selbst dann behält es es organisiert unter einem einzigen Verzeichnis ...
Ethan
1
Oh, und ich finde es einfacher, einfach / opt / local / bin zu meinem $ PATH und -I / opt / local / include zu CPPFLAGS, -L / opt / local / lib zu LDFLAGS hinzuzufügen und muss mich dann nicht erinnern um Links für jedes einzelne Paket einzurichten, das installiert wird ...
Ethan
Meine Verwendung des Symlinks beruhte teilweise auf Unwissenheit; es ist völlig unnötig. Ich vertraue großen Installationsskripten mit root einfach nicht. Und wenn Sie nicht glauben, dass MacPorts Dateien über viele Verzeichnisse verteilt, lesen Sie
Duke
4

Es ist ein unsichtbarer Ordner. Drücken Sie einfach Command+ Shift+ G(Sie gelangen zum Menüpunkt Gehe zu Ordner) und geben Sie ein /etc/.

Dann gelangen Sie in diesen Ordner.

asdf1
quelle
3

Das hilft mir sehr:

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

Es funktioniert auch für Mac OS X Lion: D.

.:BEARBEITEN:. In meinem Fall erlaubt das Prefepane nur das Starten und Stoppen von MySQL, aber nach einigen Problemen habe ich ihn deinstalliert. Wenn Sie eine Anwendung benötigen, um Abfragen auszuführen und eine Datenbank zu erstellen, können Sie Folgendes verwenden: Sequel Pro (kostenlos) oder Navicat

Wenn Sie mysql in ~ / .bash_profile starten und stoppen müssen, können Sie folgende Zeilen hinzufügen:

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

Nach dem erneuten Laden der Konsole rufen Sie einfach an:

$mysql_start 

oder

$mysql_stop 

Zutat für die gewünschte Aktion. Die Hoffnung hat dir geholfen.

Arbeitsträumer
quelle
Funktioniert das MySQL-Prefpane für Sie in Lion? Kann MySQL ein- oder ausgeschaltet werden?
Matt Sephton
1
Ich brauche das Prefpane nicht, aber das löst deine Frage? : stackoverflow.com/questions/3027479/…
Workdreamer
Im Vorfenster können Sie jedoch nur die MySQL starten und stoppen. Ich habe meinen Beitrag überarbeitet, da er hier nicht formatiert ist.
Workdreamer
1

Ich würde Benjamin zustimmen, entweder MAMP oder MacPorts zu installieren ( http://www.macports.org/ ). Die Trennung Ihrer PHP-Installation ist einfacher und vermeidet es, die PHP-Kerninstallation durcheinander zu bringen, wenn Sie Fehler machen!

MacPorts ist etwas besser für die Installation anderer Software wie ImageMagick. Eine vollständige Liste der verfügbaren Ports finden Sie unter http://www.macports.org/ports.php

MAMP macht wirklich PHP, Apache und MySQL, daher müssen alle zukünftigen PHP-Module, die Sie möchten, manuell aktiviert werden. Es ist jedoch unglaublich einfach zu bedienen.

simonrjones
quelle
0

Da es noch nicht veröffentlicht wurde, gehe ich davon aus, dass dies eine Frage für die Zeit im Voraus ist oder dass Sie einen Entwickler-Build haben. Wie Benjamin erwähnte, ist MAMP der einfachste Weg. Wenn Sie jedoch eine native Installation wünschen, sollte der Prozess 10.5 entsprechen. PHP wird standardmäßig unter OS X installiert (für einige nicht immer aktiviert). Laden Sie einfach die 32-Bit-Version von MySQL herunter, starten Sie Apache, und schon kann es losgehen. Je nachdem, welche Builds vorhanden sind, müssen Sie möglicherweise Apache für PHP oder MySQL optimieren. Ich musste nichts optimieren, damit es funktionierte.

Machuga
quelle
Aus Interesse - Snow Leopard ist 64-Bit-fähig. Warum also 32-Bit von MySQL wählen?
Matt Sephton
1
Leopard und sogar Tiger für die meisten Dinge, die ich glaube, sind 64-Bit-fähig. 64-Bit-MySQL hat einige Probleme mit einigen anderen Paketen, die nicht unbedingt direkt mit PHP zusammenhängen, aber sagen wir, er hat Python auf der ganzen Linie ausprobiert - 64-Bit-MySQL verursacht mit dem MySQLDB-Paket einige ernsthafte Probleme. Es ist völlig brauchbar, nur leider haben noch nicht alle Dinge aufgeholt.
Machuga
0

Zu Ihrer Information - wenn jemand Probleme beim Starten von Apache und beim Abrufen von Fehlern hat

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

Dies liegt an einem kürzlich durchgeführten Update von Apache in Snow Leopard. Das Update ist einfach, einfach öffnen /usr/sbin/apachectlund einstellenULIMIT=""

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

cabgfx
quelle
0

Wenn Sie ein Upgrade auf Mac OS X 10.8 Mountain Lion durchgeführt haben und zuvor ein funktionierendes System hatten, müssen Sie PHP nur wie in Schritt 1 der oben ausgewählten Antwort wieder aktivieren.

Möglicherweise finden Sie auch den folgenden Voreinstellungsbereich, der für die Verwaltung der "Webfreigabe" (Apache-Webserver) nützlich ist und die in OS X 10.8 entfernte Systemfunktionalität ersetzt: http://clickontyler.com/blog/2012/02/web-sharing-mountain -Löwe/

Ich musste auch meine Include-Zeile für virtuelle Hosts erneut zur httpd.conf hinzufügen

Matt Sephton
quelle
0

Zusätzlich zu den nativen Versionen möchten Sie aber möglicherweise BitNami MAMP Stacks ausprobieren (Haftungsausschluss, ich bin einer der Entwickler). Es handelt sich um völlig kostenlose All-in-One-Pakete mit Apache, MySQL, PHP und mehreren anderen Bibliotheken und Dienstprogrammen von Drittanbietern, die bei der lokalen Entwicklung hilfreich sind. Insbesondere sind sie vollständig in sich geschlossen, sodass Sie mehrere gleichzeitig mit unterschiedlichen Versionen von Apache und MySQL installieren können und sie sich nicht gegenseitig stören. Sie können sie unter http://bitnami.org/stack/mampstack oder direkt im Mac OS X App Store unter https://itunes.apple.com/app/mamp-stack/id571310406 ​​herunterladen

Daniel Lopez
quelle
0

Ammps war super einfach für mich und hat eine schöne webbasierte Konfiguration:

crizCraig
quelle
Ich bevorzuge die gebündelten Standardversionen, siehe Frage.
Matt Sephton
0

Hier gibt es eine großartige Anleitung:

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

Bei meinem ersten Versuch hat es jedoch nicht funktioniert. Ich habe diesen Tipp gefunden: Führen Sie "httpd -t" in Terminao aus, um die Syntax Ihrer Konfigurationsdateien zu überprüfen. Es stellte sich heraus, dass durch Kopieren und Einfügen aus dem Tutorial einige seltsame Zeichen eingeführt wurden. Nachdem dies behoben wurde, funktionierte es großartig. Es gibt auch einige Links aus dem Handbuch zum Hinzufügen von MySQL.

Das hat bei mir viel besser funktioniert als bei MAMP. Mit MAMP hatte ich Verzögerungen von ungefähr 20 Sekunden, bevor Änderungen an der PHP-Datei beim Aktualisieren im Browser angezeigt wurden, selbst wenn Sie den Cache, den Verlauf, die Cookies usw. geleert haben.

Dieses Problem wurde in MAMP PRO behoben, aber MAMP PRO hatte ein eigenes neues Problem: Die .php-Dateien wurden heruntergeladen, anstatt als Seite im Browser gerendert zu werden! Ich kontaktierte den Support und sie wussten nicht, was los war.

Der eingebaute Apache-Server hatte keine dieser Probleme. Auf jeden Fall der richtige Weg. Die folgende Anleitung ist fast identisch mit der obigen, enthält jedoch hilfreiche Benutzerkommentare:

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

Vern Jensen
quelle