j'ai une version relativement vieille de wamp : apache 2.2.17, mysql 5.5.8, php 5.2.9 et 5.3.5. Et oui, je suis obligé de conserver php 5.2.9 pour une veille application que je maintiens, et pour laquelle certains composants ne fontionnent pas apres php 5.3... Pas tres grave, puisque je sais changer de version php pour passer à la 5.3.5... enfin, c'était pas tres grave dans le temps, mais il serait temps de passer à une version PHP plus récente (php5.5 par exemple), et le probleme est que mon Apache est compilé VC6, et que les versions de PHP 5.5 que je trouve sont VC11. Est-il possible d'installer une autre version d'apache VC11 tout en conservant la VC6 à coté (on trouve des infos pour des versions différentes de PHP ou de MySQL, mais pour Apache, j'ai pas trouvé d'infos intéressantes). Ou bien y'a -t-il une autre solution ? Comment faites vous pour gérer des versions différentes ?
Il n'est pas possible de mélanger des compilations VC6 avec VC9/VC10 ou VC11. Donc, tant que vous voudrez garder PHP 5.2.x, il ne sera pas possible de changer de version Apache.
Je fais cohabiter plusieurs versions Apache, PHP et MySQL, mais toutes en VC9, VC10 ou VC11 (Voir ma signature).
Je pensais qu'il fallait simplement que Apache et PHP soient compilés avec le meme compilateur.. Pourquoi 2 versions d'Apache doivent avoir le meme compilateur ?
Sinon, pour ma culture personnelle, comment installez-vous 2 versions d'Apache ? Et comment switchez-vous de l'une à l'autre ? Avec le lanceur WAMP , (j'ai des .bat qui gèrent cela) merci
(et aussi : quel version VC avez-vous pour passer de PHP 5.3 à 5.6 ? Où trouvez-vous les versions qu'il faut ?)
> Pourquoi 2 versions d'Apache doivent avoir le meme compilateur ? Pas forcément le même, mais compatibles entre eux. Soit tout en VC6, soit tout en VC9, VC10 ou VC11. Si vous avez une version Apache VC6, vous avez forcément une version PHP en VC6 et vous ne pourrez pas basculer sur un Apache VC9 car la dll d'interface avec php php5apache2_2.dll est en VC6.
On peut trouver une dll d'interface VC9 pour Apache 2.4 et PHP 5.2 ici : php5apache2_4.dll-php-5.2-win32.zip, mais j'avoue que je n'ai jamais essayé de faire tourner PHP 5.2 avec Apache 2.4
> Sinon, pour ma culture personnelle, comment installez-vous 2 versions d'Apache ? Par exemple, pour installer un Apache 2.2.27 (ou 2.2.29) sur Wampserver 2.5 (Apache 2.4.9) : Wampserver 2.5 - Ajouter Apache 2.2.27 et/ou PHP 5.4.28
> Et comment switchez-vous de l'une à l'autre ? Avec le lanceur WAMP Oui.
bon, j'ai quand meme essayé d'installer Apache2.4 (VC11) + PHP 5.6.4 (VC11 aussi) à coté de mon installation existante
Apache semble fonctionner, mais pas PHP ! Php n'est pas interprété, le fichier Index de Wamp est affiché à l'écran comme un fichier texte. Si j'essaie d'activer une extension PHP (peu importe laquelle) j'ai l'erreur "PHP Warning: PHP Startup: in Unknown on line 0" si je n'active aucune extension PHP, je n'ai aucune erreur dans mes logs, et Apache traite bien mes pages HTML.
oui, je comprends, je ne souhaite pas jouer au pénible, mais je ne comprends pas bien pourquoi. Mon instance d'Apache 2.4 VC11 se lance bien, et elle est censée aller chercher la dll appropriée "php5apache2_4.dll" comme indiqué dans le httpd.conf donc a priori, pas de conflit avec "php5apache2_2.dll" utilisée pour l'installation existante.
Comme Apache semble se lancer correctement, et que PHP ne donne aucun message d'erreur, j'avais un espoir ...
> mais je ne comprends pas bien pourquoi. Vous basculez bien sur Apache 2.4.10 VC11, mais... celui-ci lors du basculement de version prend en compte la version PHP valide avant basculement, donc un PHP VC6, avec une dll php5apache2_4.dll VC6 (Ou pas de dll) d'où incompatibilité. Tous les scripts de basculement de version Apache, PHP ou MySQL sont exécutés avec le php actif en CLI (Command Line Interface).
OK mais il n'y a pas moyen de modifier cette version "avant basculement" ? (je n'utilise pas le lanceur wamp, ce sont des .bat qui lancent les services, n'y a-t-il pas moyen de modifier un parametre dans un fichier ou dans la base de registre ?)
Il faut, je pense, dans l'ordre : - Arrêter le service apache - Supprimer le service apache - Basculer sur nouvelle version Apache - Basculer sur nouvelle version PHP - Installer le nouveau service apache - Démarrer le service apache
Lorsque vous allez choisir la nouvelle version Apache (VC11), il faut que celle-ci fasse déjà référence au chargement de l'interface php de la nouvelle version PHP (VC11), par exemple
C'est ce que je fais, mais ca ne fonctionne pas. Je ne suis pas sûr que MySQL soit tres important, car je peux faire les memes tests sans me préoccuper du service wampmysql (je le laisse inactif), le service wampapache se lance bien (le second service en fait, j'en ai un nouveau qui s'appelle wampapachevc11) mais Php ne donne pas signe de vie, et pire, il ne donne pas d'erreur...
merci en tout cas du temps que vous m'avez consacré !
> le service wampapache se lance bien (le second service en fait, > j'en ai un nouveau qui s'appelle wampapachevc11) Vous ne pourrez pas lancer un service Apache si il y en a déjà un en fonctionnement et qui occupe le port 80.
Si vous voulez les deux en fonctionnement, il faut qu'un des deux « écoute » sur un port autre que 80, par exemple 8080. Ça fonctionne parfaitement. Par exemple je peux lancer Wampserver 32 bits (J:\wamp\) en écoute sur le port 80 et 3306 pour MySQL puis Wampserver 64 bits (J:\wamp64\) en écoute sur le port 8080 et 3307 pour MySQL. et je peux lancer dans deux onglets du navigateur : (http://localhost/) et [localgost]) et ce sont bien les deux instances différentes d'Apache qui sont utilisées.
Vous devez adapter les ports pour chaque instance d'Apache et de MySql qui s'exécutent en même temps sous Windows !
Si vous n'avez pas besoin d'avoir deux instances d'Apaches ou deux instances de MySql en même temps sous windows, vous pouvez conserver les ports traditionnellement attribués. --> Apache : port = 80 --> Mysql : port = 3306.
Ne pas oublier que Apache et MySql sont des services alors que php ne l'est pas.
De ce fait, pour basculer d'une version à une autre, par exemple de VC6 à VC11, il faut impérativement fermer les services avant de les ouvrir à nouveau.
La bonne séquence est alors :
Pour les anciennes version, faire : --> arrêter WampApache --> arrêter WampMysqld --> fermer tous les services
Pour les nouvelles versions : --> installer Apache (-n wampapache -k config) --> désinstaller MySql (--remove wampmysqld) --> installer MySql (--install wampmysqld\) --> remise à zéro des services.
Basculer vers les bonnes versions : --> switch apache --> switch php --> switch mysql
Faire un refresh de l'icône WampServer --> exécuter refresh.php
Recharger la configuration de astan tray menu --> readconfig.
La seule inconnue est php. Je n'ai jamais testé le basculement vers apache et mysql version vc6 sachant que php est en vc11 et vice-versa pendant l'exécution de php. Lorsque le basculement est terminé, donc après la fin de l'exécution du script php, normalement il n'y aurait plus de problèmes. Un simple "redémarrer les services" pourrait être la solution.
@+
---------------------------------------------------------------------------------------------------------------------------------------------------------------- Mon site : [www.jcz.fr]
Modifie 1 fois. Derniere modification le 19/12/2014 à 20:08 par Artemus24.
Je n'ai pas besoin des 2 instances d'Apache en meme temps, donc je ne touche pas aux ports. J'arrete la version apache 2.2 vc6 pour lancer apache 2.4 vc11, mais je n'arrive pas à faire fonctionner Php avec la vc11. C'est pour l'instant mon unique probleme (je ne me suis pas préoccupé de Mysql)
Citation Sebhm J’arrête la version apache 2.2 vc6 pour lancer apache 2.4 vc11, mais je n'arrive pas à faire fonctionner Php avec la vc11.
Deux points :
1) php doit être en concordance avec Apache. Si tu as un Apache VC6, tu dois avoir un php VC6. Si tu as un Apache VC11, tu dois avoir un php VC11. Sinon, le panachage ne fonctionne pas.
2) pour résoudre ton problème, tu dois basculer apache et php en même temps. WampServer, comme il est écrit actuellement, ne permet pas de passer du VC6 au VC11, et vice-versa. Si tu bascules de Apache VC6 vers Apache VC11, tu vas alors te retrouver avec un php VC6, d'où ton problème. Et comme VC11 est incompatible avec VC6, tu ne peux plus utiliser php.
@+
---------------------------------------------------------------------------------------------------------------------------------------------------------------- Mon site : [www.jcz.fr]
> Je n'ai pas d'erreur lors du lancement, mais PHP n'est pas interprété ....
Pour Apache 2.4.10, et par rapport au fichier httpd.conf original, il y a quelques modifications à faire. Ci-dessous résultat « Retouche » de la comparaison par WinMerge. Nota : les chemins sont ceux de mon installation en J:/wamp/
--- J:/wamp/bin/apache/apache2.4.10/conf/original/httpd.conf Thu Jul 17 10:50:14 2014 +++ J:/wamp/bin/apache/apache2.4.10/conf/httpd.conf Sat Dec 20 14:50:18 2014 @@ -23,6 +23,8 @@ # If a drive letter is omitted, the drive on which httpd.exe is located # will be used by default. It is recommended that you always supply # an explicit drive letter in absolute paths to avoid confusion. +ServerSignature On +ServerTokens Full
# # ServerRoot: The top of the directory tree under which the server's @@ -34,7 +36,9 @@ # same ServerRoot for multiple httpd daemons, you will need to change at # least PidFile. # -ServerRoot "c:/Apache24" +ServerRoot "J:/wamp/bin/apache/apache2.4.10" + +Define APACHE24 Apache2.4
# # Mutex: Allows you to set the mutex mechanism and mutex file directory @@ -55,7 +59,8 @@ # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 -Listen 80 +Listen 0.0.0.0:80 +Listen [::0]:80
+LoadModule php5_module "J:/wamp/bin/php/php5.6.4/php5apache2_4.dll" +#PHPIniDir J:/wamp/bin/php/php5.5.12 + <IfModule unixd_module> # # If you wish httpd to run as a different user or group, you must run @@ -215,12 +223,24 @@ # # If your host doesn't have a registered DNS name, enter its IP address here. # -#ServerName www.example.com:80 +ServerName localhost:80 + +HostnameLookups Off
# -# Deny access to the entirety of your server's filesystem. You must -# explicitly permit access to web content directories in other -# <Directory> blocks below. +# DocumentRoot: The directory out of which you will serve your +# documents. By default, all requests are taken from this directory, but +# symbolic links and aliases may be used to point to other locations. +# +DocumentRoot "J:/wamp/www" + +# +# Each directory to which Apache has access can be configured with respect +# to which services and features are allowed and/or disabled in that +# directory (and its subdirectories). +# +# First, we configure the "default" to be a very restrictive set of +# features. # <Directory /> AllowOverride none @@ -234,13 +254,7 @@ # below. #
-# -# DocumentRoot: The directory out of which you will serve your -# documents. By default, all requests are taken from this directory, but -# symbolic links and aliases may be used to point to other locations. -# -DocumentRoot "c:/Apache24/htdocs" -<Directory "c:/Apache24/htdocs"> +<Directory "J:/wamp/www/"> # # Possible values for the Options directive are "None", "All", # or any combination of: @@ -260,12 +274,14 @@ # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # - AllowOverride None + AllowOverride all
# # Controls who can get stuff from this server. # - Require all granted + +# onlineoffline tag - don't remove + Require all denied </Directory>
# @@ -291,7 +307,8 @@ # logged here. If you *do* define an error logfile for a <VirtualHost> # container, that host's errors will be logged there and not here. # -ErrorLog "logs/error.log" +#ErrorLog "logs/error.log" +ErrorLog "J:/wamp/logs/apache_error.log"
# # LogLevel: Control the number of messages logged to the error_log. @@ -320,8 +337,8 @@ # define per-<VirtualHost> access logfiles, transactions will be # logged therein and *not* in this file. # - CustomLog "logs/access.log" common - + CustomLog "J:/wamp/logs/access.log" common + # CustomLog "|bin/rotatelogs.exe -l J:/wamp/logs/access-%Y-%m-%d_Semaine_%W.log 604800" common # # If you prefer a logfile with access, agent, and referer information # (Combined Logfile Format) you can use the following directive. @@ -356,7 +373,7 @@ # client. The same rules about trailing "/" apply to ScriptAlias # directives as to Alias. # - ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/" + ScriptAlias /cgi-bin/ "J:/wamp/bin/apache/apache2.4.10/cgi-bin/"
</IfModule>
@@ -372,7 +389,7 @@ # "c:/Apache24/cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # -<Directory "c:/Apache24/cgi-bin"> +<Directory "J:/wamp/bin/apache/apache2.4.10/cgi-bin"> AllowOverride None Options None Require all granted @@ -394,14 +411,16 @@ # AddEncoding allows you to have certain browsers uncompress # information on the fly. Note: Not all browsers support this. # - #AddEncoding x-compress .Z - #AddEncoding x-gzip .gz .tgz + AddEncoding x-compress .Z + AddEncoding x-gzip .gz .tgz # # If the AddEncoding directives above are commented-out, then you # probably should define those extensions to indicate media types: # AddType application/x-compress .Z AddType application/x-gzip .gz .tgz + AddType application/x-httpd-php .php + AddType application/x-httpd-php .php3
# # AddHandler allows you to map certain file extensions to "handlers": @@ -461,7 +480,14 @@ # Defaults: EnableMMAP On, EnableSendfile Off # #EnableMMAP off -#EnableSendfile on +EnableSendfile off + +# AcceptFilter: On Windows, none uses accept() rather than AcceptEx() and +# will not recycle sockets between connections. This is useful for network +# adapters with broken driver support, as well as some virtual network +# providers such as vpn drivers, or spam, virus or spyware filters. +AcceptFilter http none +AcceptFilter https none
# Local access to the Apache HTTP Server Manual #Include conf/extra/httpd-manual.conf @@ -528,3 +554,6 @@ #RequestHeader unset DNT env=bad_DNT #</IfModule>