Dies ist für Mac OS X mit der nativen Installation von Apache HTTP und der benutzerdefinierten Installation von MySQL .
Die Antwort basiert auf der hervorragenden Antwort von @ alec-Canyon. Da ich jedoch einige spezifische Änderungen googeln musste, um sie in meiner Konfiguration zu konfigurieren, hauptsächlich Mac OS X-spezifisch, dachte ich, ich würde sie der Vollständigkeit halber hier hinzufügen.
Aktivieren Sie die PHP5-Unterstützung für Apache HTTP
Stellen Sie sicher, dass die PHP5-Unterstützung in aktiviert ist /etc/apache2/httpd.conf
.
Bearbeiten Sie die Datei mit sudo vi /etc/apache2/httpd.conf
(geben Sie das Passwort ein, wenn Sie dazu aufgefordert werden) und kommentieren Sie ;
die Zeile aus (entfernen Sie sie vom Anfang), um die zu laden kommentieren Sie Modul php5_module .
LoadModule php5_module libexec/apache2/libphp5.so
Starten Sie Apache HTTP mit sudo apachectl start
(oder restart
wenn es bereits gestartet ist und neu gestartet werden muss, um die Konfigurationsdatei erneut zu lesen).
/var/log/apache2/error_log
Stellen Sie sicher, dass eine Zeile enthält, die angibt, dass das php5_module aktiviert ist - das sollten Sie sehenPHP/5.3.15
(oder ähnliches).
[notice] Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15 with Suhosin-Patch configured -- resuming normal operations
Nachschlagen des Namens der Socket-Datei
Wenn MySQL läuft (mit ./bin/mysqld_safe
), sollten Debug-Zeilen auf der Konsole ausgedruckt werden, die Ihnen mitteilen, wo Sie die Protokolldateien finden. Notieren Sie den Hostnamen im Dateinamen - localhost
in meinem Fall - der für Ihre Konfiguration unterschiedlich sein kann.
Die folgende Datei Logging to
ist wichtig. Hier protokolliert MySQL seine Arbeit.
130309 12:17:59 mysqld_safe Logging to '/Users/jacek/apps/mysql/data/localhost.err'.
130309 12:17:59 mysqld_safe Starting mysqld daemon with databases from /Users/jacek/apps/mysql/data
Öffnen Sie die localhost.err
Datei (auch hier kann Ihre Datei anders benannt sein), dh tail -1 /Users/jacek/apps/mysql/data/localhost.err
um den Namen der Socket-Datei herauszufinden - es sollte die letzte Zeile sein.
$ tail -1 /Users/jacek/apps/mysql/data/localhost.err
Version: '5.5.27' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
Beachten Sie den socket:
Teil - das ist die Socket-Datei, in der Sie verwenden solltenphp.ini
.
Es gibt eine andere Möglichkeit (einige sagen eine einfachere Möglichkeit), den Speicherort des Dateinamens des Sockets zu bestimmen, indem Sie sich bei MySQL anmelden und ausführen:
show variables like '%socket%';
Konfigurieren von PHP5 mit MySQL-Unterstützung - /etc/php.ini
Apropos php.ini ...
Im /etc
Verzeichnis befindet sich die Datei /etc/php.ini.default . Kopieren Sie es in /etc/php.ini .
sudo cp /etc/php.ini.default /etc/php.ini
Öffnen Sie /etc/php.ini
und suchen Sie nach mysql.default_socket .
sudo vi /etc/php.ini
Der Standardwert mysql.default_socket
ist /var/mysql/mysql.sock
. Sie sollten es auf den Wert ändern, den Sie zuvor notiert haben - es war /tmp/mysql.sock
in meinem Fall.
Ersetzen Sie die /etc/php.ini
Datei, um den Namen der Socket-Datei wiederzugeben:
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
Endgültige Überprüfung
Starten Sie Apache HTTP neu.
sudo apachectl restart
Überprüfen Sie die Protokolle, wenn kein Fehler in Bezug auf PHP5 vorliegt. Keine Fehler bedeuten, dass Sie fertig sind und PHP5 mit MySQL gut funktionieren sollte. Glückwunsch!
/etc/init.d/mysql start
wenn Sie sich in einer Debian-Basisdistribution befinden. Wenn dies fehlschlägt, überprüfen Sie die/etc/my.cnf
Datei auf den richtigen Pfad für die MySQL-Socket-Datei.