Partage
  • Partager sur Facebook
  • Partager sur Twitter

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. ?>






    • Partager sur Facebook
    • Partager sur Twitter
      1 novembre 2007 à 19:10:11

      Pour l'activation de PHP 5, un sudo vim httpd.conf ça va quand même plus vite…
      • Partager sur Facebook
      • Partager sur Twitter
        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à :)
        • Partager sur Facebook
        • Partager sur Twitter
          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).
          • Partager sur Facebook
          • Partager sur Twitter
            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
            • Partager sur Facebook
            • Partager sur Twitter
              4 novembre 2007 à 1:51:15

              Tu as préalablement installé les binaires de mysql ?
              • Partager sur Facebook
              • Partager sur Twitter
                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,
                • Partager sur Facebook
                • Partager sur Twitter
                  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).
                  • Partager sur Facebook
                  • Partager sur Twitter
                    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.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      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 !

                      • Partager sur Facebook
                      • Partager sur Twitter

                      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