Wampserver 2.5 - Ajouter Apache 2.2.27 et PHP 5.4.28- Procédure effectuée en temps réel sur Wampserver 2.5 32 bits
Pas possible pour Wampserver 2.5 64 bits puisque PHP 5.4.28 n'existe pas en 64 bits, tout du moins en version officielle chez php.net
Remarque : Vous verrez que pour installer et faire tourner Apache 2.2.27, nous allons être obligés d'installer aussi une version PHP 5.4.x (ou 5.3.x) puisque PHP 5.5.x est incompatible avec Apache 2.2.x.
Nota 1 : Les
chemins données sont ceux de mon installation dans J:\wamp - À modifier en fonction de votre installation.
Ce qui veut dire qu'à chaque fois que vous verrez J:\wamp ou J:/wamp dans les explications, il vous faudra le remplacer par le chemin de votre installation, par exemple C:\wamp.=============================================================================Prérequis important au sujet de l'éditeur de texte utilisé : Pour modifier les fichiers, vous devez utiliser un éditeur de texte, mais pas n'importe lequel. En effet, certains éditeurs de texte, le Bloc-Notes (notepad.exe) de Windows par exemple, ne sont pas capables de visualiser correctement des fichiers comportant de retours à la ligne de type Unix*, d'autres recodent subrepticement ces retours à la ligne de type Unix en type Windows/DOS, d'autres encore changent le jeux de caractère utilisé ou ajoutent des entêtes ; Or, il est impératif que les types de fin de ligne ou les jeux de caractères des fichiers de Wampserver ne soient pas altérés, sinon cela génèrera des impossibilités et des erreurs lors de son utilisation. C'est pourquoi je
recommande fortement d'utiliser un éditeur de texte gratuit, performant et en français comme Notepad++ que vous trouverez à
Notepad++ (Si vous utilisez un éditeur de texte comme UtraEdit, ça ne posera aucun problème).
* Les caractères indiquant les fins de lignes sont de trois types :
- Windows/DOS : CR - LF (Carriage Return - Line Feed) Deux octets 0x0D et 0x0A
- Unix : LF (Line Feed) Un octet 0x0A
- Mac : CR (Carriage Return) Un octet : 0x0D
=============================================================================Si vous ne voulez installer que PHP 5.4.28 (32 bit), allez directement au point *** B ***
*** A *** Installer Apache 2.2.27 sur Wampserver 2.5- Dans l'arborescence Wamp/bin/apache/ créer un nouveau dossier
wamp/bin/apache/apache2.2.27/
qui sera désigné sous le terme ApacheDest
- Télécharger Apache 2.2.27 chez Apachelounge
Apache 2.2.27 VC10 X86- Dézipper l'archive téléchargée dans un dossier temporaire. On obtient un dossier et deux fichiers
Apache2\
-- Win32-2.2.27 VC10 --
ReadMe.txt
Le dossier Apache2\ sera désigné sous le terme ApacheSource
- Depuis ApacheSource, copier tous les dossiers et fichiers dans ApacheDest
- Copier le fichier wamp/bin/apache/apache2.4.9/wampserver.conf dans ApacheDest
--- Éditer le fichier wamp/bin/apache/apache2.2.27/conf/httpd.conf
Nota : Les modifications sont effectuées du début du fichier vers la fin
- Remplacer
# an explicit drive letter in absolute paths to avoid confusion.
par
# an explicit drive letter in absolute paths to avoid confusion.
ServerSignature On
ServerTokens Full
- Remplacer
ServerRoot "c:/Apache2"
par
ServerRoot "J:/Wamp/bin/apache/apache2.2.27"
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.- Remplacer
Listen 80
par
Listen 0.0.0.0:80
Listen [::0]:80
Attention : ne mettre Listen [::0]:80 que si votre système supporte IPv6
- Remplacer
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
par
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule php5_module "J:/wamp/bin/php/php5.5.12/php5apache2_2.dll"
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.- Remplacer
#ServerName www.example.com:80
par
ServerName localhost:80
HostnameLookups On
- Remplacer
DocumentRoot "c:/Apache2/htdocs"
par
DocumentRoot "J:/wamp/www/"
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.- Remplacer
<Directory "c:/Apache2/htdocs">
par
<Directory "J:/wamp/www/">
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.- Remplacer
# Options FileInfo AuthConfig Limit
#
AllowOverride None
par
# Options FileInfo AuthConfig Limit
#
AllowOverride All
- Remplacer
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
par
# Controls who can get stuff from this server.
#
# onlineoffline tag - don't remove
Order Deny,Allow
Deny from all
Allow from localhost ::1 127.0.0.1
Attention : Ne mettre ::1 que si votre système supporte IPv6- Remplacer
DirectoryIndex index.html
par
DirectoryIndex index.php index.php3 index.html index.htm
- Remplacer
ErrorLog "logs/error.log"
par
ErrorLog "J:/wamp/logs/apache_error.log"
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.- Remplacer
CustomLog "logs/access.log" common
par
CustomLog "J:/Wamp/logs/access.log" common
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.- Remplacer
ScriptAlias /cgi-bin/ "c:/Apache2/cgi-bin/"
par
ScriptAlias /cgi-bin/ "J:/wamp/bin/apache/apache2.2.27/cgi-bin/"
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.- Remplacer
<Directory "c:/Apache2/cgi-bin">
par
<Directory "J:/wamp/bin/apache/apache2.4.9/cgi-bin">
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.- Remplacer
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
par
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz
- Remplacer
AddType application/x-gzip .gz .tgz
par
AddType application/x-gzip .gz .tgz
AddOutputFilterByType DEFLATE text/php text/HTML text/txt
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
- Remplacer
#EnableSendfile off
par
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
- Remplacer
#Include conf/extra/httpd-autoindex.conf
par
Include conf/extra/httpd-autoindex.conf
- Si vous avez déclaré des Virtual Hosts, remplacer
#Include conf/extra/httpd-vhosts.conf
par
Include conf/extra/httpd-vhosts.conf
- À la fin du fichier, ajouter :
Include "J:/Wamp/alias/*"
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.--- Sauvegarder le fichier httpd.conf modifié.
--- Éditer le fichier wamp/bin/apache/apache2.2.27/conf/extra/httpd-autoindex.conf
- Remplacer
Alias /icons/ "c:/Apache2/icons/"
<Directory "c:/Apache2/icons">
par
Alias /icons/ "icons/"
<Directory "icons">
--- Sauvegarder le fichier httpd-autoindex.conf modifié.
--- Si vous avez déclaré des Virtual Hosts avec Apache 2.4.9 :
Copier le fichier : wamp/bin/apache/Apache2.4.9/conf/extra/httpd-vhosts.conf
en écrasant le fichier wamp/bin/apache/Apache2.2.27/conf/extra/httpd-vhosts.conf
Éditer le fichier wamp/bin/apache/Apache2.2.27/conf/extra/httpd-vhosts.conf
pour remplacer tous les
Require local
par
Order Deny,Allow
Deny from all
Allow from localhost ::1 127.0.0.1
Attention : ne mettre ::1 que si votre système supporte IPv6Vérifier qu'au début du fichier il y a bien :
NameVirtualHost *:80
sinon l'ajouter.
Sauvegarder le fichier httpd-vhosts.conf modifié.
Arrivé là, Apache 2.2.27 devrait être vu par le menu Wampmanager, néanmoins,
ne basculez surtout pas sur Apache 2.2.27, même si il est vu dans le menu.
Il devrait y avoir un panneau « Triangle » d'avertissement à côté de 2.2.27 puisqu'il manque un fichier dans la version actuellement active de PHP 5.5.12. Ce fichier manquant c'est : "wamp/bin/php/php5.5.12/php5apache2_2.dll" parce que PHP 5.5.x est incompatible avec Apache 2.2.x.
*** B *** A faire impérativement, même si vous n'installer que PHP 5.4.28Certaines de mes modifications sont passées à la trappe - comment, je n'en sais rien - mais toujours est-il que pour éviter les problèmes futurs, on est obligé d'ajouter des détections d'incompatibilités entre les les versions Apache et les versions PHP.
Pour ce faire, on va modifier le fichier "wamp\scripts\refresh.php" (Vérifiez si ce n'est pas déjà fait)
- Remplacer
// PHP incompatible avec la version courante d'apache
$incompatiblePhp = 0;
if ($apacheVersionTemp == '')
par
// PHP incompatible avec la version courante d'apache [mod oto25]
$incompatiblePhp = 0;
if ($apacheVersionTemp == ''
|| !isset($phpConf['apache'][$apacheVersionTemp]['LoadModuleFile'])
|| empty($phpConf['apache'][$apacheVersionTemp]['LoadModuleFile'])
|| !file_exists($c_phpVersionDir.'/php'.$onePhpVersion.'/'.$phpConf['apache'][$apacheVersionTemp]['LoadModuleFile']))
- Remplacer
// apache icompatible avec la version courante de PHP
$incompatibleApache = 0;
if ($apacheVersionTemp == '')
par
// apache incompatible avec la version courante de PHP [modif oto25]
$incompatibleApache = 0;
if ($apacheVersionTemp == ''
|| !isset($phpConf['apache'][$apacheVersionTemp]['LoadModuleFile'])
|| empty($phpConf['apache'][$apacheVersionTemp]['LoadModuleFile'])
|| !file_exists($c_phpVersionDir.'/php'.$wampConf['phpVersion'].'/'.$phpConf['apache'][$apacheVersionTemp]['LoadModuleFile']))
Sauvegarder le fichier refresh.php modifié.
Maintenant si on lance Wampserver, on doit voir un triangle d'avertissement à côté de la version Apache 2.2.27, signifiant une incompatibilité avec la version PHP en cours.
Nous allons donc ajouter PHP version 5.4.28.
*** C *** Installer PHP 5.4.28 32 bit sur Wampserver 2.5- Télécharger l'archive chez php.net :
[
windows.php.net]
- Créer un nouveau dossier
J:/wamp/bin/php/php5.4.28/
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.- Dézipper l'archive téléchargée "php-5.4.28-Win32-VC9-x86.zip" dans ce nouveau dossier
- Copier le fichier J:/wamp/bin/php/php5.5.12/wampserver.conf dans le nouveau dossier J:/wamp/bin/php/php5.4.28/
- Copier le fichier J:/wamp/bin/php/php5.4.28/php.ini-development sous le nom J:/wamp/bin/php/php5.4.28/php.ini
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.--- Éditer le fichier J:/wamp/bin/php/php5.4.28/php.ini
- Supprimer
; This is php.ini-development INI file.
- Remplacer
max_execution_time = 30
par
max_execution_time = 120
- Remplacer
; max_input_vars = 1000
par
max_input_vars = 2500
- Remplacer
;error_log = php_errors.log
par
error_log = J:/wamp/logs/php_error.log
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.- Remplacer
; extension_dir = "ext"
par
; extension_dir = "ext"
extension_dir = "J:/wamp/bin/php/php5.4.28/ext/"
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.- Remplacer
;upload_tmp_dir =
par
upload_tmp_dir = "J:/wamp/tmp"
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.On arrive maintenant aux extensions et, vu les modifications notables à effectuer, le plus simple est de :
- Replacer toutes les lignes depuis (inclus)
; Be sure to appropriately set the extension_dir directive.
jusqu'à (inclus)
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
par
; Be sure to appropriately set the extension_dir directive.
;
extension=php_bz2.dll
;extension=php_com_dotnet.dll
extension=php_curl.dll
;extension=php_enchant.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_intl.dll
extension=php_imap.dll
;extension=php_interbase.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
extension=php_shmop.dll
; The MIBS data available in the PHP distribution must be installed.
; See [www.php.net]
;extension=php_snmp.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
- Remplacer
;date.timezone =
; [php.net]
;date.default_latitude = 31.7667
; [php.net]
;date.default_longitude = 35.2333
par
date.timezone = Europe/Paris
; [php.net]
date.default_latitude = 48.88778
; [php.net]
date.default_longitude = 2.31806
Ou votre timezone et latitude/longitude si ce n'est pas celles là- Remplacer
;intl.default_locale =
par
intl.default_locale = fr_FR
Ou votre "locale" si ce n'est pas la France- Remplacer
;intl.error_level = E_WARNING
par
intl.error_level = E_WARNING
- Remplacer (éventuellement)
;sendmail_from = me@example.com
par
sendmail_from = adresse email valide
- Remplacer
mysql.default_port =
par
mysql.default_port = 3306
- Remplacer
;session.save_path = "/tmp"
par
session.save_path = "J:/wamp/tmp"
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.C'est terminé pour les modifications « standards » de php.ini.
Si vous ne voulez pas ajouter le support XDebug (Zend), sauvegarder le fichier php.ini modifié et aller directement en *** E ***
*** D *** - Support de XDebug (Zend)- À la fin du fichier en édition php.ini ajouter
; XDEBUG Extension
zend_extension = "J:/wamp/bin/php/php5.4.28/zend_ext/php_xdebug-2.2.5-5.4-vc9.dll"
[xdebug]
xdebug.remote_enable = off
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "J:/wamp/tmp"
xdebug.show_local_vars=0
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.(Deux fois)Sauvegarder le fichier php.ini modifié
- Créer un nouveau dossier
J:/wamp/bin/php/php5.4.28/zend_ext/
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.- Télécharger le fichier dll nécessaire.
[
xdebug.org]
et le mettre dans
J:/wamp/bin/php/php5.4.28/zend_ext/php_xdebug-2.2.5-5.4-vc9.dll
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.*** E ***- Copier le fichier J:/wamp/bin/php/php5.4.28/php.ini sous le nom J:/wamp/bin/php/php5.4.28/phpForApache.ini
Attention : J:/wamp est mon chemin d'installation, à remplacer par le vôtre.- Lancer Wampserver
-- Si on a installé Apache 2.2.27, on doit voir :
Wampmanager->Apache>Version->2.2.27
avec un triangle d'avertissement qui indique que;la version de PHP en fonction est incompatible avec Apache 2.2.27.
Il faudra d'abord basculer sur PHP 5.4.28 avant de basculer sur Apache 2.2.27
-- On doit voir :
Wampmanager->PHP->Version->5.4.28
On peut alors basculer sur PHP 5.4.28 puis, si installé sur Apache 2.2.27
Une fois basculé sur PHP 5.4.28 et Apache 2.2.27, on peut alors voir que c'est Wampmanager->PHP->Version->5.5.12 qui est affiblé du triangle d'avertissement puisue cette version de PHP est incompatible avec Apache 2.2.27.