web-dev-qa-db-fra.com

Comment puis-je installer PHP 5,3 sur Centos?

Je dois installer PHP 5.3 sur mon serveur Centos. Si je le fais yum install php, le référentiel de base installe 5.1.6 qui est trop vieux pour les applications que j'ai besoin d'installer. Donc, j'ai essayé d'utiliser le [~ # ~ # ~ # ~ # ~] Repository, après les instructions officielles de IUS:

root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1-2.ius.el5.noarch.rpm

root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm

root@linuxbox ~]# rpm -Uvh ius-release*.rpm epel-release*.rpm

D'ACCORD. Maintenant je fais tout simplement yum install php53, etc. Pour tout ce dont j'ai besoin ... Mais je reçois cette erreur:

Running rpm_check_debug
Running Transaction Test
Finished Transaction Test


Transaction Check Error:
  file /usr/bin/php from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
  file /usr/bin/php-cgi from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
  file /usr/share/man/man1/php.1.gz from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
  file /etc/php.ini from install of php53u-common-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-common-5.1.6-27.el5_5.3.x86_64

Error Summary
-------------

Je n'ai aucune idée de la façon de résoudre ce problème. Je pense que je dois supprimer les paquets de base. Cependant, comme quelqu'un de nouveau à Linux, je ne sais pas comment faire ça.

9
fivelitresofsoda

Mise à jour : Apparemment Rhel 5.6 Inclus PHP 5. , il apparaît donc de manière nativement Pour Centos bientôt.

file /usr/bin/php from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /usr/bin/php-cgi from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /usr/share/man/man1/php.1.gz from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /etc/php.ini from install of php53u-common-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-common-5.1.6-27.el5_5.3.x86_64

Le problème ici est que les packages que vous installez ont un nom différent (PHP53 au lieu de PHP), mais ils tentent d'installer les mêmes fichiers ... d'où les conflits. Ce n'est pas nécessairement le meilleur moyen de placer les paquets ensemble, mais je ne sais pas s'il y a de meilleurs forfaits disponibles, nous allons l'ignorer.

Pour supprimer vos packages actuellement installés:

# yum remove php-cli php-common php

Donc, en général, yum remove <list of packages> retirera les paquets. Et bien sûr, yum list installed Pour voir une liste des packages installés (ou rpm -qa).

8
larsks

La réponse à cela a changé, à compter du 13 janvier 2011. Red Hat a publié la version 5.6, ce qui inclut PHP version 5.3 en tant que package distinct (php53).

Vous devez retirer l'ancien PHP et ensuite installer PHP 5.3 séparément. Cela semble similaire à votre colis du référentiel IUS, mais maintenant c'est officiel.

Pour plus d'informations, voir les notes de version de Red Hat .

Notez que ceci est juste à partir de Red Hat, et il y aura un peu de retard avant que cela soit disponible dans Centos. La mise à jour RHEL 5.6 semble relativement mineure, cependant, je ne devrais donc pas m'attendre à ce qu'elle soit trop longue.

4
mattdm

Essayez de supprimer les anciennes versions des colis avant d'installer les nouveaux:

miam effacer php-cli php-comon

ensuite, essayez votre installation Yum.

AVERTISSEMENT: Regardez la liste des modifications que Yum veut faire avant de vous engager, de vous assurer que vous n'élevez pas d'autres forfaits importants.

2
Phil Hollenback

Vous êtes correct, vous devez d'abord désinstaller les paquets PHP par défaut. Avant d'aller de l'avant, gardez à l'esprit que d'autres packages peuvent avoir des dépendances spécifiques sur les versions de base. Les chances sont, tout ira bien, mais juste être fabriqués pour que vous puissiez devoir répondre à d'autres préoccupations plus tard.

Vous devriez être capable de le faire en émettant

yum erase php-common php-cli

Suivi de votre

yum install php53
2
Scott Pack

Centos 6 est maintenant disponible et comprend PHP 5.3:

http://isoredirect.ccitos.org/centeos/6/isos/x86_64/

1
Terence Johnson
  1. Je devais enlever php-cli, php-common et php-dev Avec certaines dépendances, mais rien d'autre (MySQL, etc. n'était intact.)
  2. J'ai installé les mêmes paquets dans PHP 5.3 Saveur avec des dépendances et tout est maintenant opérationnel. phpinfo confirme que je suis en cours d'exécution PHP = Version 5.3.3.
  3. J'ai redémarré Apache et le site, exécutant Joomla, ça marche bien.
1
szlevi

J'ai eu le même problème où "Yum Update PHP" me donnerait des erreurs de conflit.

Running "Yum Update" (Mettre à jour tout) a travaillé pour moi cependant. Donner ça un essai.

En outre, réalisez que si vous exécutez "Yum Effacer PHP" ou "Yum Supprimer PHP", il peut supprimer tous les colis qui dépendent de PHP ... ce qui inclurait probablement votre panneau de commande Plesk ou CPanel si vous avoir qui est installé. Si je ne me trompe pas, vous devriez réinstaller ceux qui pourraient être une douleur.

0
Jason Coleman

Je viens de résoudre ce problème après de nombreuses recherches, à savoir l'installation PHP 5.3.10 sur Centos 5.3. J'avais essayé d'utiliser plusieurs référentiels, y compris le Atomicorp Repo , mais ceci Broke Plesk

J'ai finalement trouvé que les étapes suivantes fonctionnent un régal, pensée que je partage.

[~ # ~] commence [~ # ~ ~]

Téléchargez et activez les référentiels REMI et EPEL

cd ~
wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

vi /etc/yum.repos.d/remi.repo

Modifier "Enabled = 0" à "Activé = 1" sous la position "[REMI]"

Vous devez supprimer php-sqlite2 ou vous obtiendrez une erreur de dépendance

yum remove php-sqlite2

Mise à jour PHP à la dernière version 5.3.10 Dans ce cas

yum update php

Sauvegardez php.ini et activez la version nouvellement installée

mv /etc/php.ini /etc/php.ini.old
mv /etc/php.ini.rpmnew /etc/php.ini

Sauvegardez my.cnf et activez la version nouvellement installée

mv /etc/my.cnf /etc/my.cnf.old
mv /etc/my.cnf.rpmnew /etc/my.cnf

Installez la dernière version de l'extension IonCube

wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar -xvf ioncube_loaders_lin_x86-64.tar.gz
mv ioncube/* /usr/lib64/php/modules/

echo 'zend_extension=/usr/lib64/php/modules/ioncube_loader_lin_5.3.so' > /etc/php.d/ioncube-loader.ini

Vous devrez peut-être également installer des extensions PHP, dans ce cas, j'ai également besoin d'installer le SOAP Extension:

yum install php-soap

Redémarrer les services pour que les modifications prennent affectent

service mysqld restart
service httpd restart

[~ # ~] fait [~ # ~ # ~]

À votre santé; marque

0
ponchopilate