Laat MySQL and PHP met elkaar communiceren op Mac OS X 10.5 en 10.6

(This is a post in Dutch only)

Zojuist vond ik onderstaande instructies, die ik geruime tijd geleden voor een forum schreef. Wellicht is dit bruikbaar voor wie PHP en MySQL op zijn eigen Mac wil gebruiken. De instructies betreffen Mac OS X 10.5 en 10.6.

Bijna altijd wordt er met de term MAMP gegooid zo gauw mensen problemen hebben met PHP en MySQL op Mac OS X. Het is onzin om MAMP op een Mac te installeren omdat bijna alles al geïnstalleerd is. Waarom zou je alle serversoftware twee keer installeren? Dat neem alleen maar onnodige ruimte. Je hoeft MAMP echt niet te gebruiken. Je moet gewoon even weten hoe je PHP en MySQL moet configureren.

Voordat PHP met MySQL kan werken, dien je natuurlijk MySQL te installeren. Je kunt MySQL voor Mac OS X hier http://www.mysql.com/downloads/mysql/ downloaden. Installeer MySQL en vergeet niet ook het voorkeurenpaneel te installeren.

Nu kun je PHP activeren. Type command-shift-G en type /etc/apache2/ in het venstertje dat verschijnt. Klik op Ga (of Go) en zoek naar het bestand httpd.conf in die map. Kopieer dit bestand naar de desktop en maak een extra kopie met de naam httpd.conf.oud.
Open het bestand httpd.conf in TextEdit en zoek de regel met
#LoadModule php5_module libexec/httpd/libphp5.so

Verwijder de # en bewaar het bestand. Kopieer het gewijzigde bestand nu naar /etc/apache2/ en bevestig als je wordt gevraagd of je het reeds bestaande bestand wilt vervangen.

Als PHP probeert met MySQL te communiceren, gebruikt het een socket-bestand om contact met MySQL te maken. PHP verwacht dit bestand te vinden in /tmp/mysql.sock terwijl MySQL het bestand in /var/mysql/mysql.sock creëert. Dit is al jaren zo en ik begrijp niet waarom dit niet door de betreffende partijen wordt opgelost.

De “tijdelijke” oplossing is PHP of MySQL te vertellen dat het socket-bestand elders moet worden gecreëerd c.q. gevonden. De makkelijkste manier is de volgende.

1) open TextEdit en type de volgende vier regels:

[mysqld]
socket=/var/mysql/mysql.sock
[client]
socket=/var/mysql/mysql.sock

2) bewaar dit tekstbestand onder: /etc/my.cnf

Het kan zijn dat je dit bestand niet zomaar kunt opslaan in /etc. In dat geval kun je het bestand eerst op de desktop opslaan. Vervolgens type je command-shift-G. Er verschijnt een dialoogvenstertje, waarin je /etc typt. Als je op Go (of Ga) klikt, zie je een Finder-venster met de inhoud van de map /etc verschijnen. Nu kun je het bestand my.cnf naar deze map kopiëren. Eventueel moet je nog een beheerdersnaam en -wachtwoord invullen.

Nu dien je web sharing in de Systeemvoorkeuren uit te schakelen en weer in te schakelen. Ok MySQL kun je middels het geïnstalleerde voorkeurenpaneel uit- en weer inschakelen.

PHP zou nu van MySQL gebruik moeten kunnen maken.

Leave a Reply

Your email address will not be published. Required fields are marked *


*