Eu segui as instruções do Install Apache / PHP 5.4.10 no Fedora 17/16, CentOS / RHEL 6.3 / 5.8 com uma pequena modificação. Demorou talvez 10 minutos. Meus comandos exatos são mostrados abaixo. Observe que o primeiro comando teve que ser alterado em relação ao mostrado no artigo. A mudança foi de epel-release-6-7.noarch.rpm
para epel-release-6-8.noarch.rpm
.
Como adicionar um repositório que forneça o PHP 5.4 no yum?
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
yum install http://rpms.remirepo.net/enterprise/remi-release-6.rpm
Isso pode substituir perfeitamente a versão atual do PHP no CentOS? Para mim, os seguintes comandos funcionaram e nenhuma das minhas páginas da web PHP existentes quebrou. Sua milhagem pode variar.
yum --enablerepo=remi install httpd php php-common
yum --enablerepo=remi install php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
service httpd restart
Como posso voltar ao repositório oficial quando ele suporta PHP5.4? Não testei os comandos para remover e reinstalar o PHP dos repositórios do CentOS, mas eles devem funcionar.
# Remove the Remi packages. Note the reversed command order
yum remove php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
yum remove httpd php php-common
# Install the CentOS packages.
yum install httpd php php-common
yum install php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
Existe algum potencial para quebrar os módulos PHP que eu [sic] estou usando atualmente? Sim. Usando uma versão recente do CentOS (6.2?) Com o Zend instalado usando o instalador do Zend, a atualização acima quebrou o Zend.
Todos os comandos acima foram executados como root
. A melhor prática é fazer login como usuário não privilegiado e usá-lo sudo
. (Esta é uma VM de desenvolvimento com um instantâneo atual ...)
Além disso, NÃO ative o repositório Remi por padrão - no passado, fiquei inteligente e o ativei por padrão e as coisas quebraram, mesmo com a prioridade do repositório.
yum --enablerepo=remi update
e ele cuida de todos os pacotes php relacionados, parece uma solução melhor. O servidor funciona sem problemas há alguns dias, obrigado por todas as informações.php
à lista de instalar, o que me causou um monte de problemas como apache não servce arquivos PHP, por isso não se esqueça de adicionar este ao usarUma melhoria em relação à outra resposta Webtatic:
1 Usando o guia em http://www.webtatic.com/packages/php54/ :
2) Você precisa primeiro ver o que os pacotes instalados existentes precisam substituir, você pode fazer isso usando o yum shell para combinar a remoção do php-common e a instalação do php54w-common em uma transação (para que as dependências compartilhadas não sejam removidas)
Não diga "y" aos resultados, mas tome nota de todos os pacotes mencionados em "Removendo para Dependências", por exemplo
Se houver outros pacotes além do php * nesta lista, você não poderá alternar perfeitamente para o Webtatic PHP 5.4, mas terá que investigar alternativas. O Webtatic possui pacotes de substituição para todos os pacotes php base (consulte os pacotes listados na página vinculada ao 1. para confirmação); portanto, não deve haver problemas, a menos que você use outros repositórios de terceiros com pacotes instalados, dependendo da versão php específica instalado.
No restante da instalação (ainda no yum shell), você apenas remove esses pacotes e instala os correspondentes php54w- *:
Você deve ver apenas os pacotes que você definiu para serem removidos e instalados na lista e pode confirmar a alternância da instalação. Quaisquer serviços atualmente em execução com o php carregado precisarão ser reiniciados, por exemplo, httpd ou php-fpm.
Como isso é "contínuo", qualquer alteração de software que ocorra enquanto os usuários podem acessar o site deve ter as consequências totalmente compreendidas. As bibliotecas compartilhadas que estão sendo removidas e adicionadas quando um processo ainda não foi carregado podem ser carregadas enquanto a biblioteca compartilhada não está lá. É melhor fazer atualizações de software como essa offline e, de preferência, testar em uma máquina que não seja de produção primeiro para verificar se o processo funciona conforme o esperado.
3) Para mudar para um hipotético pacote php54 base do CentOS (o CentOS 5 usou o prefixo php53), basta executar as etapas acima, substituindo a remoção php pela remoção php54w e a instalação php54w pela instalação php54, por exemplo
Entretanto, quanto à mudança para a base hipotética php54, provavelmente não haverá alternativas para alguns pacotes (por exemplo, não havia extensão php53-pecl-memcache no CentOS 5) e o Webtatic possui pacotes que não estão disponíveis no CentOS base (por exemplo, php54w -pecl-zendopcache). Se eles estiverem ausentes, normalmente você não tem outra opção senão usar o pecl diretamente para instalá-los.
4) Qualquer atualização do PHP pode apresentar bugs, e os sites devem ser testados novamente. Isso não é específico para o Webtatic, mas a idéia geral de que novos recursos introduzem novos bugs.
Diferentemente do repositório Remi na resposta aceita, o repositório Webtatic EL6 nunca usa os mesmos nomes de pacotes que os repositórios base do CentOS, portanto, não substitui a instalação / atualização de pacotes para os quais você não pretende mudar e, como tal, é ativado por padrão.
Disclaimer: Eu sou o proprietário / mantenedor do Webtatic
fonte
você pode encontrar o php 5.4.9 aqui para a instalação do yum:
http://www.webtatic.com/packages/php54/
você pode fazer um "rpm -qa | grep php" para ver todos os seus pacotes php atuais e um "rpm -e" para remover. Eu não conheço seus módulos atuais, mas vale a pena testar antes da atualização.
fonte