Installation php 5.3 et php 2.11 sur fedora 12 et apache2 (httpd)
Par Sophie Blanchon le jeudi, décembre 3 2009, 18:15 - Serveurs - Lien permanent
- Environnement
Environnement fedora 12 / apache2 (httpd) => procédure d'installation sur le blog de jean-phi
L'installation de php sur la fedora 12 via yum installera la version 5.3 de php.
- Contexte
Afin de pouvoir développer de nouveaux sites avec la version php5.3 mais de ne pas avoir à reprogrammer ceux développés avec la 5.2.x nous avons du faire cohabiter php5.3 et php5.2.11.
- Install php 5.3
yum install php
le fichier php.ini se trouve dans /etc/
mettre error_reporting à on
- Install php5.2.11
pré-requis librairie libxml pour php :
yum install libxml2-devel.x86_64 yum install mysql-devel.x86_64
mkdir /usr/local/bin/php5.2
télécharger sources =>
tar -xzvf php-5.2.11.tar.gz cp /usr/local/bin/php5.2.11/php.ini-recommanded /etc/php5.2/php.ini ./configure --prefix=/usr/local/bin/php5.2 --with-mysql=/usr/bin/ --with-libdir=lib64 --enable-pdo=shared --with-pdo-mysql=shared,/usr/bin/mysql --with-sqlite=shared --with-pdo-sqlite=shared --with-config-file-path=/etc/php5.2 --with-mysql-sock=/var/lib/mysql/mysql.sock --with-config-file-scan-dir=/etc/php.d make && make install
- Config
vérifier la présence de actions_module dans le fichier de config de apache
cat /etc/httpd/conf/httpd.conf | grep act
doit retourner => LoadModule actions_module modules/mod_actions.so
sinon insérer la ligne dans la section modules du fichier de conf (il faut bien sûr que le fichier modules/mod_actions.so existe...)
Pour les sites devant utiliser la version php5.2.11 :
<VirtualHost *:80>
ServerName www.toto.loc
DocumentRoot "/var/www/html/www.toto.loc/"
<Directory "/var/www/html/www.toto.loc/">
DirectoryIndex index.php index.html index.htm
AllowOverride All
Options All -Indexes
Order allow,deny
Allow from all
Action php-script /php5.2/php-cgi
AddHandler php-script .php
</directory>
ScriptAlias /php5.2/ /usr/local/bin/php5.2/bin/
<Directory /usr/local/bin/php5.2/bin>
AllowOverride None
Options -Indexes +ExecCGI +FollowSymLinks
SetHandler cgi-script
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
- Commande php :
mv /usr/local/bin/php /usr/local/bin/php_5.2 ln -s /usr/local/bin/php php php -v => 5.3 ln -s /usr/local/bin/php5.2/bin/php php5.2 php5.2 -v => 5.211
Le fait que la commande en ligne php soit celle de la version php5.3 vous évitera de rencontrer des problèmes lors des commandes doctrine de symfony (notamment des problèmes avec drivers mysql).
- php.ini
Il faut copier le fichier php.ini dans le réperoire exécutant le php-cgi, ici : /usr/local/bin/php5.2/bin/ pour qu'il soit pris en compte.
Vous pourrez ajouter dans le virtual host du site utilisant la version php5.2.11
SetEnv PHP_INI_SCAN_DIR /etc/php.d
=> prise en charge des fichiers de config.ini.
Pensez à modifier les php.ini pour qu'ils correspondent à vos besoins ( exemple extension_dir).
service httpd restart
Un simple phpinfo(); devrait vous confirmer que votre configuration fonctionne.

