Apache / PHP sur Windows 8

J’ai des problèmes avec Apache / PHP sur Windows 8. Je les utilisais précédemment sur XP (avec MySQL) sans aucun problème. Je n’ai jamais utilisé Windows 7.

Apache s’installe sans problèmes. Tout fonctionne correctement, y compris tous mes serveurs virtuels. PHP installe OK, l’installation met des entrées dans httpd.conf sans donner d’erreurs. Cependant, lorsque j’essaie de charger Apache après avoir installé PHP, Apache ne se charge pas.

Je suis confus par l’erreur qu’Apache renvoie lorsque les entrées PHP sont incluses dans httpd.conf:

Syntax error on line 1029 of C:/Program Files/Apache Group/Apache2/conf/httpd.conf: Cannot load C:/Program Files/PHP/php5apache2_2.dll into server: The specified module could not be found. 

Les lignes sont:

 #BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL PHPIniDir "C:\Program Files\PHP\" LoadModule php5_module "C:\Program Files\PHP\php5apache2_2.dll" #END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL 

(la ligne 1029 est la ligne LoadModule). Cet emplacement pour le dll est définitivement correct. La syntaxe de la ligne est telle qu’insérée par PHP. J’ai comparé la syntaxe aux versions précédentes de httpd.conf que j’ai et elle semble correcte. Je pense que l’erreur de syntaxe est un hareng rouge.

J’ai essayé:

  • Les barres obliques inverses sont remplacées par des barres obliques dans l’emplacement dll.
  • Ajout de PHP au chemin
  • Installer Apache et PHP dans les deux séquences.
  • Vérifier les permissions sur le dossier PHP et les fichiers individuels pour s’assurer que le système a bien lu / exécuté.

Commentez les lignes PHP et les charges Apache. Si je commente la ligne LoadModule et que je laisse la ligne PHPIniDir, elle échoue toujours. Apache semble se comporter comme s’il ne pouvait pas voir le répertoire PHP, mais je ne peux pas savoir pourquoi.

Il n’y a rien dans le journal des événements Windows. Dernières versions de PHP et Apache. Je suis un peu perdu quoi essayer ensuite. Des suggestions s’il vous plaît?

Téléchargez et suivez les instructions de ce lien: http://www.apachelounge.com/download/

Le dernier téléchargement (2.4) fonctionne sur Windows 8 et Server 2012.

J’ai téléchargé et testé avec Windows 8: Chaque fichier zip contient un fichier readme.txt ou install.txt avec des instructions.

Mes lignes httpd.conf ajoutées / modifiées étaient les suivantes:

 LoadModule rewrite_module modules/mod_rewrite.so LoadModule php5_module "C:/Apache24/php-5.4.8/php5apache2_4.dll" LoadFile "C:/Apache24/php-5.4.8/php5ts.dll" PHPIniDir "C:/Apache24/php-5.4.8"   AddType text/html .php AddHandler application/x-httpd-php .php #AddHandler application/x-httpd-php-source .phps   

Il est mentionné dans le fichier Readme.txt fourni avec les DLL sur ApacheLounge, mais nulle part ailleurs sur la page de téléchargement ou dans le nom de fichier (comme toutes les autres versions):

“Fonctionne avec PHP 5.4 Thread Safe (TS), et uniquement avec Apache 2.4 Win32 VC9 ou VC10”

Les dll ne sont que pour la version TS, donc si vous avez téléchargé l’autre, vous êtes fondamentalement foutu. Les binarys TS php ont corrigé cela pour moi.

GL.

En supposant que ce soit votre environnement de développement et non de déploiement, pourquoi ne téléchargez-vous pas simplement xampp à partir d’ amis apache ? Il devrait être préconfiguré, et vous déploierez de toute façon dans d’autres configurations.

Je suis tombé sur le même problème lors de la réinstallation d’Apache et de PHP sur Win 8 (je suis plutôt utilisateur de Linux). Et similaire à la publication originale, peu importe ce que j’ai essayé de faire dans httpd.conf et php.ini, Apache n’a simplement pas démarré ou n’a pas vu le PHP. Après avoir passé une quantité de temps déraisonnable, j’ai décidé de télécharger le programme d’ installation de PHP 5.3 (5.3.27) -VC9 x86 Thread Safe (2013-juil.-10 21:56:58) [45.86MB] au lieu de la version non sécurisée J’ai utilisé avant. Il y a une différence dans les installeurs .msi. Celui de la version thread-safe contient en fait les fichiers requirejs et si vous suivez les instructions du programme d’installation, il vous demandera en fait si l’installation php doit être “liée” au serveur Apache. Ensuite, vous fournissez simplement le répertoire hhtpd.conf et tout fonctionne correctement. Thats mon 2c sur ceci 🙂

Je pense que le problème est dans le vide “Program Files”.