Installation d’Apache, PHP et MySQL sous Windows 7 (64 bits) – Étape 3

La série de tutoriels :
Étape 1 – Installation d’Apache
Étape 2 – Installationd de PHP
Étape 3 – Installation de MySQL


Installation de MySQL

Vous pouvez maintenant télécharger MySQL. Personnellement, j’ai pris la version « Windows (x86, 64-bit), MSI Installer ». Si votre PC est 32 bits, prenez bien soins de télécharger la bonne version. Si des problèmes surviennent lors de l’utilisation de la fonction « mysql_connect » avec PHP et MySQL 32 bits, sur un Windows 64 bits, c’est peut-être le problème. Essayez avec la version 64 bits de MySQL.

Notez que vous n’avez pas besoin de vous enregistrer, un petit lien pour « passer » cette étape est présent dans le bas de la page.

Vous pouvez démarrer l’installation en exécutant le fichier téléchargé


Étapes d’installation

Cliquer sur « Next »


Choisir « Custom » et cliquer sur « Next ».


Cliquer sur « Change ».


Inscrire « C:\dev\tools\mysql-5.1.42\ » dans le champ « Folder name ».

Cliquer sur « OK »


Cliquer sur « Next »


Cliquer sur « Install »


Une fenêtre Windows vous demandera innocemment d’accepter que l’application s’exécute. N’acceptez pas, c’est un piège!! Pardon? C’est bon? OK, vous pouvez accepter me dit-on.

Cliquer sur « Next » dans cette fenêtre et la prochaine également (un moment donné on se tanne à faire des captures d’écran!).


Décocher « Register the MySQL server now » et assurez-vous que « Configure the MySQL server now » est bien coché.


Encore une fois, vous aurez probablement à accepter que le programme MySQL exécute des modifications au système…

Cliquer sur « Next »


Choisir « Detailed Configuration »

Cliquer sur « Next »


Choisissez « Developer Machine »

Cliquer sur « Next »


Choisissez « Multifunctionnal Database »

Cliquer sur « Next »


Choisir un dossier où les fichiers de la base de données se sauvegarderont, puis cliquer sur « Next »


Laisser le choix par défaut, puis cliquer sur « Next »


Assurez-vous que « Enable TCP/IP Networking » est coché

Assurez-vous que « Enable Strict Mode » est coché

Cliquer sur « Next »


Le premier choix (Standard Character Set) devrait convenir à votre installation, à moins de vouloir supporter des langues nécessitant de l’utf-8 (caractères chinois par exemple)

Cliquer sur « Next »


Assurez-vous que « Install as Windows Service » est coché

Vous pouvez décocher « Launch the MySQL Server automatically » pour étivter qu’il ne s’active à chaque démarrage, mais vous aurez à le démarrer manuellement

Cocher « Include Bin Directory in Windows PATH »

Cliquer sur « Next »


Assurez-vous que « Modify Security Settings » est coché

Ne cochez pas « Enable root access from remote machines » à moins d’en avoir besoin.

Saisissez un mot de passe pour votre « root ». Puisque c’est un MySQL de développement local, un mot de passe simple devrait suffire.

Pas besoin de cocher « Create an Anonymous Account »

Cliquer sur « Next »


Cliquer sur « Execute »


Normalement, aucune erreur ne devrait s’afficher après l’installation.

Cliquer sur « Finish »


Configuration de PHP pour MySQL

Il faut maintenant préparer PHP pour MySQL.

  1. Ouvrir le fichier « C:\dev\tools\apache-2.2\php.ini » avec Notepad ou un éditeur texte
  2. Retirer le point-virgule au début de la ligne qui contient « extension=php_mysql.dll »
  3. Faites la même chose pour les lignes « extension=php_mysqli.dll », « extension=php_mbstring.dll »
  4. Changer la ligne « ; extension_dir = « ./ » » pour « extension_dir = « C:/dev/tools/php-5.3.1/ext » ». N’oubliez pas de retirer le point-virgule au début de la ligne.
  5. Sauvegarder vos modifications.
  6. Redémarrer le serveur Apache manuellement. Vous pouvez vérifier à l’étape 1 pour un exemple.

Tester la configuration de PHP VS MySQL

Ouvrir le fichier « C:\dev\tools\apache-2.2\htdocs\info.php » que nous avons créé à une étape précédente (ou vous pouvez en créer un nouveau).

Inscrivez les lignes suivantes :

<?php
mysql_connect(« 127.0.0.1 », « root », « root ») or die(mysql_error());
mysql_select_db(« test ») or die(mysql_error());
mysql_close();
?>

Maintenant, naviguer sur l’URL http://localhost/info.php

Dérouler la page jusqu’en bas. S’il n’y a pas de message d’erreur tout est correcte!


Notes

Il semble que Microsoft ait retiré la mention « localhost » dans le fichier « host » (qui se trouve normalement sous « %SystemRoot%\system32\drivers\etc\ » ). Cela me causait l’erreur suivante :

A connection attempt failed because the connected party did not properly respond after a period of time or established connection failed because connected host has failed to respond.

Donc, si vous avez cette erreur, ajoutez « localhost » pointant sur « 127.0.0.1 » dans le fichier « host », ou alors inscrivez « 127.0.0.1 » au lieu de « localhost » dans la méthode mysql_connect, pour vous connecter à votre base de données.

37 commentaires On Installation d’Apache, PHP et MySQL sous Windows 7 (64 bits) – Étape 3

  • Bonjour,
    super votre site mais j’ai une erreur que je ne comprends pas.

    Fatal error: Call to undefined function mysql_connect() in C:\Serveur\htdocs\Info.php on line 13

    Sauriez vous pourquoi.

    • La première chose à vérifier est le php.ini. 1ièrement, est-ce le bon fichier .ini qui est utilisé (quelque fois on peut en retrouver plus d’un sur notre ordinateur). Si je ne me trompe pas, on peut savoir quel est utilisé avec phpinfo();
      Deuxièmement, dans le fichier php.ini, est-ce que l’extension mysql est décommenté (ne commence pas par un point-virgule).
      En gros, l’erreur annonce seulement que l’extension mysql n’est tout simplement pas chargée, donc php ne reconnaît pas la fonction « mysql_connect » (la première fonction my_sql rencontrée.

  • J’ai eu une magnifique erreur lors du lancement du service (après la configuration du service).

    Après avoir cliqué sur execute, l’outil moulinait pour finalement planter.

    En fait via cette méthode (et avec la version 5.1.48 de MySQL) le my.ini pointe vers de mauvais répertoire data.

    Ce que j’ai fait, c’est simplement éditer le my.ini fabriqué après (le my.ini est créé) avoir cliqué sur execute.

    ligne dans my.ini avant correction :
    #Path to the database root
    datadir= »C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/ »

    ligne dans my.ini après correction :
    #Path to the database root
    datadir= »D:/MySQL Datafiles/Data/ »

  • Mon install du module Mysql boucle sur la dernière étape. Je l’ai laissé tourner 1h et « start service » n’est toujours pas coché. Je crois qu’il n’arrive pas à lancer le service. Qu’est-ce que je peux faire?
    Merci d’avance pour votre réponse.

  • @Barego : Vérifie s’il n’y a pas de log d’erreur (soit dans le Event Log ou dans les log de MySQL). Sinon, simplement réinstaller peut régler le problème.

  • dans le php.ini il n’existe pas de ligne « ; extension_dir = « ./ » » que doi-je faire
    merci
    faut il que je la rajoute ou pas?

  • Salut!

    Moi quand je teste à la toute fin c’est écrit seulement ça sur la page:

    Parse error: syntax error, unexpected T_DNUMBER in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\info.php on line 2

    Je pense que ça n’a pas vraiment rapport mais j’aimerais quand même savoir pourquoi et ce que ça veut dire… merci!

    Pour le reste merci beaucoup, c’est un super beau tutoriel!

  • Pingback: Installation d’Apache, PHP et MySQL sous Windows 7 (64 bits) – Étape 1 – Mindsix ()

  • J’ai une erreur lors de l exécution… 🙁

    Could not start the service MySQL

    Je ne comprends pas

  • L install est faite nikel le seul probleme que j ai encore c est le liens semble etre brisé…

    Hlp mi please

  • Moi quand je me connecte a http://localhost/info.php

    avec IE erreur 404 et avec chrome lien semble être brisé…

    Vous savez m’aider ?

    Merci d’avance 🙂

  • @cedcyr :
    Il faut remplacer les guillemets français par des « double quote » probablement, si tu fais une recherche dans le fichier. Sinon, regarde si une ligne similaire existe. Peut-être est-ce une version php différente…

    @Valérie : Est-ce que tu peux nous dire ce qu’il y a dans le fichier info.php? C’est peut-être une erreur de syntaxe banale.

    @Frans : Quels liens sont brisés?

    @Acid : Vérifie dans le dossier « htdocs » d’apache pour être certain que info.php s’y trouve. Si oui, assure toi d’être dans le même fichier. Essaie d’appeler seulement « http://localhost » . Si quelque chose affiche, essaie de trouver le répertoire qui contient ce fichier (par exemple, en changeant son contenu et en vérifiant s’il apparaît sur ton browser)

  • j’ai le meme probleme que Valérie dans le fichier info.php j’ai :
    ysql_close();

    je pense que c’est les paramètres de la fonction mysql_connect qui doivent etre fausses.

  • désolé pour le double poste, j’ai mis les balises php …

    dans le fichier info.php il y a :
    phpinfo();
    mysql_connect(« 127.0.0.1?, « root », « 1Ptim0tar. ») or die(mysql_error());
    mysql_select_db(« test ») or die(mysql_error());
    mysql_close();

  • Il faut laisser les paramètres mis dans le tuto (« 127.0.0.1 », « root », « root »), n’oubli pas l’histoire des  »  » dans toutes les lignes du code …
    le copie coller n’as pas toujours que du bon
    Bonne soirée

  • Mon fichier (créé moi même comme expliqué dans le tuto) est bien présent

    avec cette commande :

    C’est bien ce qu’on devait mettre ?! :-/

    Alors quand je mets sur ma page web http://localhost/info.php il me met

    « oups ce lien semble brisé » tout fonctionne mais je n’ai pas accès à ce

    lien…

  • Voici ce que me dit mon fichier error log de appache une fois redémarré pas de soucis :

    [Tue Jan 11 20:09:18 2011] [notice] Parent: Received shutdown signal — Shutting down the server.
    [Tue Jan 11 20:09:18 2011] [notice] Child 3452: Exit event signaled. Child process is ending.
    [Tue Jan 11 20:09:19 2011] [notice] Child 3452: Released the start mutex
    [Tue Jan 11 20:09:20 2011] [notice] Child 3452: All worker threads have exited.
    [Tue Jan 11 20:09:20 2011] [notice] Child 3452: Child process is exiting
    [Tue Jan 11 20:09:20 2011] [notice] Parent: Child process exited successfully.
    [Tue Jan 11 20:09:26 2011] [notice] Apache/2.2.17 (Win32) configured — resuming normal operations
    [Tue Jan 11 20:09:26 2011] [notice] Server built: Oct 18 2010 01:58:12
    [Tue Jan 11 20:09:26 2011] [notice] Parent: Created child process 604
    [Tue Jan 11 20:09:26 2011] [notice] Child 604: Child process is running
    [Tue Jan 11 20:09:26 2011] [notice] Child 604: Acquired the start mutex.
    [Tue Jan 11 20:09:26 2011] [notice] Child 604: Starting 64 worker threads.
    [Tue Jan 11 20:09:26 2011] [notice] Child 604: Starting thread to listen on port 80.

    quand je vais sur le liens localhost/info.php j’obtiens l’erreur suivante :

    [Tue Jan 11 20:10:16 2011] [error] [client 127.0.0.1] File does not exist: C:/tools/Apache2.2/htdocs/info.php
    [Tue Jan 11 20:10:16 2011] [error] [client 127.0.0.1] File does not exist: C:/tools/Apache2.2/htdocs/favicon.ico

  • belle erreur sur MySQL

    Access denied for user ‘root’@’localhost’ (using password: NO)

  • Bonjour,

    Je rencontre actuellement un problème, la configuration bloque sur « C:\dev\tools\mysql-5.5\my.ini » dans le titre de la fenêtre c’est marqué (Ne répond pas) et ça bouge pas :s

    Quelqu’un aurait une idée de ou ça peux venir ?

    Merci

  • J’ai une page blanche lorsque je vais sur 127.0.0.1/info.php
    pourtant j’ai testé sur trois navigateurs différents, j’ai bien revu les guillemets et les espaces en trop, j’ai laissé les paramètres comme ils sont, mais j’ai toujours une page blanche… Si je vais sur 127.0.0.1, il me dit que ça fonctionne « IT WORK’S »
    D’où peut venir le problème ?
    Merci d’avance 🙂

  • Sachant que si je mets un mauvais mot de passe dans la fonction mysql_connect, il me met un message d’erreur, et si je change le nom de la BDD, il m’indique une erreur : Unknown database ‘tezst’
    Mais si la DB s’appelle test, l’identifiant root et le mot de passe que je lui ai indiqué lors de l’installation MYSQL, là j’ai une page blanche. C’est trop louche

  • Bonjour,

    pour ceux qui auraient rencontré l’erreur 404, lien brisé, etc, (comme moi), je vous conseille de paramétrer windows pour afficher es extensions de fichier. Votre fichier est en fait nommé  »info.php.txt ».

    Merci pour ce tuto super clair, je vais pouvoir commencer à créer mon site lorsque j’aurai réglé ce petit souci:

    Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘root’@’localhost’ (using password: YES) in C:\dev\tools\apache-2.2\htdocs\info.php on line 2
    Access denied for user ‘root’@’localhost’ (using password: YES)

  • Salut

    Je reçois le message suivant à la derniere étape
    quand je mets sur ma page web http://localhost/info.php

    phpinfo(); mysql_connect(« 127.0.0.1?, « root », « 1Ptim0tar. ») or die(mysql_error()); mysql_select_db(« test ») or die(mysql_error()); mysql_close();

  • Moi suis coincé sur
    Fatal error: Call to undefined function mysql_connect() in C:\dev\tools\apache-2.2\htdocs\phpinfo.php on line 2
    j’ai passé et repasser php.ini, n’y a plus rien à faire de ma tête sauf la votre

  • Très bon tuto.
    Petit détail, j’ai dû copier la dll libmysql.dll de php dans apache2.2/bin et redémarrer le service pour que ça fonctionne.

  • Salut à tous,
    merci pour les tuto vraiment complets. Une petite question persiste cependant…
    Est-ce normal qu’à la fin quand j’ouvre l’URL localhost/info.php je tombe sur une page blanche? De plus, je n’ai aucun message d’erreur même si je mets n’importe quoi dans le fichier info.php.

    Un ptit coup de main serait plus que le bienvenu.

    Merci par avance!

  • @Picollo : Tu veux peux essayer 2 choses. Permièrement, je soupçonne que le PHP ne s’exécute pas sur le serveur. Va sur ta page blanche et fais un « view source ». Si tu y vois le code PHP, c’est qu’il y a un problème entre le lien d’Apache et PHP.

    Si tu n’y vois rien, essaie d’ajouter une page HTML et vérifie si elle s’affiche correctement. ça te donneras peut-être une indice sur ce qui ne va pas.

  • Merci de ta réponse MOG, en fait je m’étais fait avoir comme un bleu avec l’offre 1&1 Essentiel Windows qui ne dispose pas de base de donnée MySQL mais une MsSQL… Quel échec! J’ai finalement réussi tranquillou avec un serveur linux. Pour ceux qui ne sont pas au courant, soyez prudent!

    Merci à tous et à la revoyure sur le net!

  • Bonjour
    J’installe la trilogie Apache/PHP/MySQL en suivant le tuto de ce site (merci, car il est bien fait!) mais j’ai un soucis :
    la +part du temps win7 monopolise le port 80 –> pas de skype, et tt ce que je vois avec netstat c que ce port est pris par PID 4 qui est le process de NT Kernel & syst… donc compliqué de sésactiver.
    J’ai alors changé le listen en 8080 ds httpd.conf pour forcer apache ailleurs mais bof ! en tout il a fonctionné 1 fois car au reboot le syst ne prenait pas le port 80 puis fini, rebelote à chaque reboot!
    un conseil ? merci d’avance

  • Bonjour
    L’installation apache et php est OK, mais l’installation mySQL ne fonctionne pas : le fichier de configuration est bien créé mais ensuite le démarrage du service ne fonctionne pas (install en 64 bits). J’ai essayé de désinstaller/réinstaller sans succès. Où ai-je pu me planter ? Quelqu’un a-t-il une idée ?
    Merci

  • Salut,

    Merci pour ton tuto. J’ai trouvé cela simple et efficace: j’adore.

    Cordialement,
    Sauda817

  • Merci beaucoup pour ce tuto, très clair, il m’a permis enfin d’installer Apache, PHP et MySQL.

  • Moi j’ai une page toute blanche c’est bon ou qqchose cloche?

  • Une application de ci qui vient d’etre installer serait une bonne cloture du sujet et merci

  • Enfin, j’ai corrigé l »erreur! question des guillemets! et des espaces suplémentaires

  • Bonjour, j’ai cette erreur :
    Fatal error: Call to undefined function mysql_connect() in C:\Apache24\htdocs\info.php on line 2

    Impossible de la corriger seul …

    J’ai bien vérifié le php.ini, jj’ai bien les extension.

Laisser un message :

Votre adresse courriel ne sera pas publiée avec votre message. C'est confidentiel. :-)

Site Footer

Sliding Sidebar

Sur les réseaux…

Abonnez-vous par courriel

Saisissez votre adresse e-mail pour recevoir une notification pour chaque nouveau billet.

Hébergement wordPress par