Partage

Léopard : PHP Mysql

Les procédures d'installations

1 novembre 2007 à 18:46:13

Bonjour,
Ce topic pour vous faire part de deux jours de galères pour que mes sites php puissent de nouveaux avoir accès au bases de données mysql en interne.


Léopard est livré avec la version PHP 5.2.4.
Si sous Tiger vous avez installé une version avec l'installeur d'entropy, votre PHP5 se trouve dans usr/local
Celle livrée avec Léopard tourne sous apache2 et se trouve dans usr/lib


Activer PHP5



Pour activer PHP il faut décommenter la ligne #LoadModule php5_module libexec/apache2/libphp5.so du fichier httpd.conf situé dans le dossier apache2 du dossier etc

Procédé


  • Ouvrez Safari et tapez file:///etc/apache2 Sélectionnez le fichier
httpd.conf et faites Lire les informations (Cde+I) Dans la partie Partage et permissions, donnez tous les droits (Lecture et écriture) à système, wheel et everyone, puis refermez la fenêtre. Ouvrez le fichier (avec bbEdit, par exemple), recherchez (ligne 114) #LoadModule php5_module libexec/apache2/libphp5.so et décommentez-la en enlevant le signe # qui la débute. Enregistrer et refermez le fichier.</ul>

Pour activer le serveur, allez dans Préférences système -> Partage et cochez la case Partage Web. Si elle est déjà cochée, décochez-la pour arrêter le serveur et recochez-là pour que la modification du fichier httpd.conf soit prise en compte.

Test


Créez un fichier test.php qui comporte ce code :
  1. <?php phpinfo() ?>

Glissez ce fichier dans Bibliothèque -> WebServer -> Documents
Ouvrez Safari et tapez : localhost/test.php
Vous devriez voir s'afficher une page contenant votre configuration PHP5

mySQL Léopard n'est pas livré avec mySQL. Si, sous Tiger vous avez installer mySQL, celui-ci se trouve également dans usr/local


Pour initialiser mysql il faut procéderà plusieurs choses.

PreferencePanes



Allez dans Bibliothèque -> PreferencePanes et mettez à la corbeille (s'il existe) le fichier MySQL.prefPane car il n'est plus valable.
Télécharger l'installeur MySQL-PrefPane-1.2.dmg et installez-le.

Le fichier my.cnf



Pour que Léopard sache où se trouve mysql il faut créer un fichier my.cnf dans le dossier etc.

Création du fichier avec Terminal


Lancer Terminal
Tapez sudo nano /etc/my.cnf
Entrez votre mot de passe
Tapez (copiez-coller depuis cette page) :
  1. [client]
  2. socket = /var/mysql/mysql.sock
  3. [mysqld]
  4. socket = /var/mysql/mysql.sock


Puis tapez Ctr+X et ensuite la touche Y
Quittez Terminal er redémarrez l'ordinateur

(éventuellement, si vous ne voulez pas passer par Terminal, créer ce fichier my.cnf dans bbEdit et glissez-le dans le dossier etc (Dans Safari : file:///etc)

Vérification


Une fois l'ordinateur relancer, vous pouvez voir dans les Préférences système, en bas, l'existence d'une icône MySQL. Un clic dessus permet de s'assurer que le serveur est actif. Vous avez la possibilité de le désactiver.

Si vous possédez phpMyAdmin, glissez le dossier dans Bibliothèque -> WebServer -> Documents et appelez e dans Safari. Vous devriez avoir accès à vos bases de données.

Utilisateurs de Eskuel


Eskuel est une alternative à phpMyAdmin et est téléchargeable ici <lien url="ttp://www.phptools4u.com/scripts/eskuel/">eskuel</lien>


Il semble que Léopard n'accepte pas les utilisateurs "" (vide)
Si, comme moi, vous aviez l'habitude de vous logger sans nom d'utilisateur et sans mot de passe, eskuel affichera une erreur.
Pour remédier à cela, dans le dossier eskuel, ouvrez le fichier config.inc.php
Rechercher cette ligne : $confDB['0']['user'] = ''; et tapez root comme utilisateur , ce qui donne cela : $confDB['0']['user'] = 'root';
Enregistrez. Ça devrait refonctionner.

En interne vos sites ne peuvent pas se connecter

Vous avez des sites qui demandent à se connecter à vos bases de données et vous obtenez ce message d'erreur :
  1. Warning: mysql_pconnect() [function.mysql-pconnect]: Access denied for user '_mdnsresponder'@'localhost'


Même raison que plus haut : cela signifie que, dans le fichier de configuration de votre site, l'utilisateur est vide. Remplacez-le par root.

Exemple de fichier de configuration de site
  1. <?php
  2. //Base name :
  3. $DBName= "maBase";
  4. //Nom d'utilisateur :
  5. $userName = "root";
  6. //Mot de passe :
  7. $DBpasswd = "";
  8. //Chemin sgbd :
  9. $DBhost = "localhost";
  10. ?>






1 novembre 2007 à 19:10:11

Pour l'activation de PHP 5, un sudo vim httpd.conf ça va quand même plus vite…
2 novembre 2007 à 9:22:02

Certes, certes ;)

Mais j'ai deux bonnes raisons :

1- n'étant pas du monde Unix, C, C++ etc -> je ne suis pas très copain avec Terminal :-°

2- la manipe d'activation de PHP permet de montrer que l'on peut accéder aux dossiers invisibles via un navigateur avec la commande file:///

Voilà :)
2 novembre 2007 à 20:06:35

Si tu ne veux pas utiliser le Terminal, je déconseille tout de même de changer les autorisations du fichier. Comme solution tu as Smultron qui pourra modifier les fichiers mêmes protégés par une simple demande de mot de passe.

Ainsi les droits sont préservés et tu n'as pas besoin du Terminal (j'ajoute aussi que Smultron peut aller dans des répertoires cachés et ouvrir des fichiers cachés si besoin).
3 novembre 2007 à 23:19:23

Bonjour, j'ai essayer de faire ton tuto, mais voilà mon erreur lorsque après avoir redémarrer mon ordi et vouloir faire partir MySQL...
erreur mysql

Pourtant j'ai fait exactement ce que tu dis de faire mais MySQL plante. Aurais-tu une solution?

Merci
4 novembre 2007 à 1:51:15

Tu as préalablement installé les binaires de mysql ?
4 novembre 2007 à 5:12:17

Non dois-je? car ceci n'est pas m'entionné... Mais alors comment installer le fichier binaire de mysql, simplement le mettre dans la bibliothèque? Je ne suis pas sur des étapes à effectuer pour l'installation.

Merci,
4 novembre 2007 à 13:59:52

Ce mini-tuto prend en compte un serveur php/mysql préalablement organisé pour tiger avec une mise à jour de leopard par dessus. Donc en effet, il faut installer les binaires mysql.

Pour télécharger un package des binaires c'est

Et la procédure complète d'installation est

Pour le reste, tu peux suivre le tuto ci-dessus. Mais le plus simple reste encore mamp, avant qu'une réelle procédure d'installation de mysql pour leopard ne voit le jour( et ça ne saurait tarder).
4 novembre 2007 à 17:11:21

Merci beaucoup pour tes précieux conseils mota.

J'ai aussi bien hâte que cette procédure voie le jour.
31 janvier 2008 à 12:09:23

bonjour,

Merci pour ce petit guide qui m'a mis dans la bonne direction. j'ai cela dit du faire quelques arrangements pour que cela fonctionne chez moi, mais je ne sais pas à quel point ma configuration initial sous tiger avant passage à leopard à changer les données.

Il me semble que j'avais fait une installation des plus simples de mysql avec le DMG fourni sur mysql.com, et cette installation ne m'avait pas créé de dossier /var/mysql mais avait fait l'installe dans : /usr/local/mysql/

le socket quand à lui se trouvait dans :
/private/tmp/mysql.sock

j'ai donc entré dans my.conf:
  1. [client]
  2. socket = /private/tmp/mysql.sock
  3. [mysqld]
  4. socket =  /private/tmp/mysql.sock


mais ma config PHP ne fonctionnait toujours pas, j'avais un message d'erreur me disant
  1. Can't connect to local MySQL server through socket '/var/mysql/mysql.sock'


j'ai alors créé un répertoire "mysql" dans /var
  1. cd /var
  2. sudo mkdir mysql


puis créé un lien vers mon socket
  1. sudo ln -s /private/tmp/mysql.sock mysql.sock


refresh dans le browser, et hop c'était bon !!

quelle salade quand même, 2 heures de perdues pour cette config, le seul vrai souci que j'aie eu à ce jour avec mon passage à Leopard... j'espère que ce petit résumé rendra service à quelqu'un !

Léopard : PHP Mysql

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
  • Editeur
  • Markdown