Ceci est pour Mac OS X avec l' installation native d'Apache HTTP et l' installation personnalisée de MySQL .
La réponse est basée sur l'excellente réponse de @ alec-gorge, mais comme j'ai dû rechercher sur Google des modifications spécifiques pour la configurer dans ma configuration, principalement spécifique à Mac OS X, j'ai pensé l'ajouter ici par souci d'exhaustivité.
Activer la prise en charge de PHP5 pour Apache HTTP
Assurez-vous que le support PHP5 est activé dans /etc/apache2/httpd.conf
.
Modifiez le fichier avec sudo vi /etc/apache2/httpd.conf
(entrez le mot de passe lorsque vous y êtes invité) et décommentez (supprimez ;
du début de) la ligne pour charger le module php5_module .
LoadModule php5_module libexec/apache2/libphp5.so
Démarrez Apache HTTP avec sudo apachectl start
(ou restart
s'il est déjà démarré et doit être redémarré pour relire le fichier de configuration).
Assurez-vous que /var/log/apache2/error_log
contient une ligne qui vous indique que le php5_module est activé - vous devriez voir PHP/5.3.15
(ou similaire).
[notice] Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15 with Suhosin-Patch configured -- resuming normal operations
Recherche du nom du fichier Socket
Lorsque MySQL est opérationnel (avec ./bin/mysqld_safe
), des lignes de débogage doivent être imprimées sur la console qui vous indiquent où vous pouvez trouver les fichiers journaux. Notez le nom d'hôte dans le nom de fichier - localhost
dans mon cas - qui peut être différent pour votre configuration.
Le fichier qui vient après Logging to
est important. C'est là que MySQL enregistre son travail.
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
Ouvrez le localhost.err
fichier (encore une fois, le vôtre peut être nommé différemment), c'est- tail -1 /Users/jacek/apps/mysql/data/localhost.err
à- dire pour connaître le nom du fichier socket - ce devrait être la dernière ligne.
$ tail -1 /Users/jacek/apps/mysql/data/localhost.err
Version: '5.5.27' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
Notez la socket:
partie - c'est le fichier socket que vous devez utiliser php.ini
.
Il existe un autre moyen (certains disent un moyen plus simple) de déterminer l'emplacement du nom de fichier du socket en se connectant à MySQL et en exécutant:
show variables like '%socket%';
Configurer PHP5 avec le support MySQL - /etc/php.ini
En parlant de php.ini ...
Dans le /etc
répertoire, il y a le fichier /etc/php.ini.default . Copiez-le dans /etc/php.ini .
sudo cp /etc/php.ini.default /etc/php.ini
Ouvrez /etc/php.ini
et recherchez mysql.default_socket .
sudo vi /etc/php.ini
La valeur par défaut mysql.default_socket
est /var/mysql/mysql.sock
. Vous devriez le changer pour la valeur que vous avez notée précédemment - c'était /tmp/mysql.sock
dans mon cas.
Remplacez le /etc/php.ini
fichier pour refléter le nom du fichier socket:
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
Vérification finale
Redémarrez Apache HTTP.
sudo apachectl restart
Vérifiez les journaux s'il n'y a pas d'erreur liée à PHP5. Aucune erreur signifie que vous avez terminé et PHP5 avec MySQL devrait fonctionner correctement. Félicitations!
/etc/init.d/mysql start
si vous êtes sur une distribution de base Debian. en cas d'échec, vérifiez le/etc/my.cnf
fichier pour le chemin du fichier de socket mysql correct.