Instale o PHP7 a partir do repositório Remi

13

Eu instalei o PHP7 do Remi repo com

sudo yum -y install httpd
sudo yum -y install epel-release
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 
sudo rpm -Uvh remi-release-6*.rpm
sudo yum -y --enablerepo=remi,remi-test install php70
scl enable php70 'php -v'
sudo ln -s /usr/bin/php70 /usr/bin/php

e está funcionando via CLI. Agora eu quero fazê-lo funcionar com o apache, mas não consigo encontrar um exemplo para passar como um segundo argumento para o LoadModule

LoadModule php7_module        unknown_path  
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>

Essa é a abordagem correta para fazer o PHP7 funcionar com o apache2?

mbalparda
fonte
php7.zend.com/install-ubuntu.php É para o Centos7, mas pode ajudar.
21136 angelcool.net
Acabei escrevendo blog.nexcess.net/2015/07/21/install-wordpress-with-php-7 com as compilações do Zend PHP7.
Mbalparda
O PHP7, devido ao seu status de pré-lançamento, parece estar solidamente na categoria fechada "software não suportado".
ceejayoz
1
find / -iname '*php*.so':)
Marki

Respostas:

23

Por padrão "php70" (Coleção de software) não instala o mod_php.

yum install php70-php

E verifique se você não possui nenhum outro mod_php (como o fornecido pelo pacote base "php")

Remi Collet
fonte
Oi Remi. Acabei de instalar no centos 6.7 ( yum install php70-php-pear php70-php-bcmath php70-php-pecl-jsond-devel php70-php-mysqlnd php70-php-gd php70-php-common php70-php-fpm php70-php-intl php70-php-cli php70-php php70-php-xml php70-php-opcache php70-php-pecl-apcu php70-php-pecl-jsond php70-php-pdo php70-php-gmp php70-php-process php70-php-pecl-imagick php70-php-devel php70-php-mbstring) e, enquanto a instalação funcionou perfeitamente, meus sites ainda estão sendo servidos no php 5.6. Como faço para "mudar" o nginx para o php 7?
Codemonkey
Como o fcgi passa por 127.0.0.1:9000, suponho que preciso desabilitar a versão 5.6 nessa porta e torná-la o php 7 ... mas minha mente ficou em branco! Suponho que se eu desinstalasse primeiro todas as coisas da versão 5.6 e depois instalasse a 7, isso também resolveria?
Codemonkey
Se você precisar de uma única versão php, poderá desativar "php-fpm" e usar "php70-php-fpm". Se você precisar dos dois, altere a opção de escuta na definição do conjunto e na configuração do nginx.
Remi Collet
2
Fantástico, obrigado. Para qualquer outra pessoa no mesmo barco, isso faz o truque: service php-fpm stop, service php70-php-fpm start. Você encontrará os arquivos conf php.ini e php-fpm em /etc/opt/remi/php70/vez de apenas em etc.
Codemonkey
@RemiCollet Instalei o php 5.6 usando repositórios remo. Saiba como posso atualizar de 5,6 para 7? Eu preciso de apenas uma versão. Thansk.
PHPst
6

Para aqueles que desejam instalar o PHP 7 usando o remi-php70repositório (agora que o PHP 7.0.0 foi lançado), você pode instalar pacotes usando os mesmos nomes de pacotes que conhece e ama, por exemplo:

  • php
  • php-cli
  • php-common
  • php-devel
  • php-fpm
  • php-gd
  • php-mbstring
  • php-pdo
  • etc.
geerlingguy
fonte
Quão? php54 parece ser o padrão com remi-release-7.rpm?
Giorgio79 # 9/16
1
@ giorgio79 se você ativar remi-php70.repoe desativar todas as outras versões do PHP do repos remi, que funcionam yum install php-fpmpor padrão usa 7.0, mas isso não funciona com 7.1 (ou outros lançamentos futuros)
sofly
2

O PHP70 também parece instalar tudo em / etc / opt / remi / php70 /:

você precisará executar:

source /opt/remi/php70/enable
user1455180
fonte
3
Você deve elaborar. Por que você precisa executar isso? O que isso faz? Como ajuda o OP a encontrar o módulo Apache?
Marki
Se o PHP 7 ainda não funcionar, você precisará executá-lo para fazê-lo funcionar. Ele adicionará uma linha no apache para carregar o módulo php70.
User1455180
isso deixará de funcionar se você sair e entrar novamente. esse é o problema que estou enfrentando.
Edward
Que diabos esse queimou na minha instalação 7.4! Adicionadas as entradas PATH conforme necessário e estão funcionando. Não sei por que foi projetado assim!
emmdee 6/01
1

Se você tem a versão mais antiga do php (como a 5.6) instalada, não se esqueça de fazer algo assim:

cd /etc/httpd/conf.d/
mv php.conf php.conf.dis

Reinicie o apache e isso deve ser feito.

Bozidar Sikanjic
fonte
1
Estranhamente, essa solução o corrigiu para mim depois de algumas horas de resmungos.
Giorgio79 09/04
1

Para qualquer outra pessoa que esteja tentando atualizar do PHP 5.6 para 7.0.1 no Centos 6.7:

Consegui fazer isso funcionar hoje quase como a @mbalparda listou, mas sem usar o epel-release (apesar de alguns repos epel estarem ativados e em uso)

Eu tinha o php 5.6 do IUS ( https://ius.io/GettingStarted/ ) repo ( https://centos6.iuscommunity.org/ius-release.rpm ) instalado, então os removi por:

# yum list installed | grep php5
php56u.x86_64          5.6.14-1.ius.centos6
php56u-cli.x86_64      5.6.14-1.ius.centos6
php56u-common.x86_64   5.6.14-1.ius.centos6
...

e entao

# yum erase php56u php56u-cli php56u-common php56u-mcrypt php56u-mysqlnd ...

seguido pelos comandos listados:

# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 
# rpm -Uvh remi-release-6.rpm
# yum install php70-php php70-php-cli php70-php-common php70-php-mcrypt php70-php-mysqlnd ...
# scl enable php70 'php -v'
# sudo ln -s /usr/bin/php70 /usr/bin/php
# service httpd restart
site80443
fonte
misturar o pacote php70- * e php56u- * no mesmo comando parece muito estranho. Provavelmente indesejável. E se você deseja uma versão única, usar o SCL não é a solução mais simples. O mais simples é habilitar o repositório remi-php70 e "yum update". Lembre-se de experimentar o novo assistente: rpms.remirepo.net/wizard
Remi Collet
@RemiCollet obrigado por apontar o erro de digitação, editei o post para refletir o mesmo - eu quis escrever php70-php-mysqlnd etc, mas copiar / colar / editar incorretamente ... Além disso, o assistente parece excelente. Obrigado!
site80443