Instalar PHP7 desde Remi Repo

13

Instalé PHP7 desde Remi Repo con

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

y funciona a través de CLI. Ahora quiero que funcione con apache, pero no puedo encontrar un segundo argumento para LoadModule

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

¿Es este el enfoque correcto para hacer que PHP7 funcione con apache2?

mbalparda
fuente
php7.zend.com/install-ubuntu.php Es para Centos7 pero puede ayudar.
angelcool.net
Terminé escribiendo blog.nexcess.net/2015/07/21/install-wordpress-with-php-7 con las compilaciones Zend PHP7.
mbalparda
PHP7, dado su estado de prelanzamiento, parece que cae sólidamente en la categoría de cierre de "software no compatible".
ceejayoz
1
find / -iname '*php*.so':)
Marki

Respuestas:

23

Por defecto "php70" (Software Collection) no instala el mod_php.

yum install php70-php

Y compruebe que no tiene ningún otro mod_php (como el proporcionado por el paquete base "php")

Remi Collet
fuente
Hola remi Acabo de instalar en 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) y, aunque la instalación funcionó a la perfección, mis sitios todavía se sirven en php 5.6. ¿Cómo "cambio" nginx a php 7?
Codemonkey
Dado que fcgi supera 127.0.0.1:9000, supongo que necesito desactivar de alguna manera 5.6 en ese puerto y hacer que sea php 7 en su lugar ... ¡pero mi mente se ha quedado en blanco! Supongo que si desinstalo todas las cosas 5.6 primero y luego instalo 7, ¿eso también lo resolvería?
Codemonkey
Si necesita una única versión de php, puede deshabilitar "php-fpm" y usar "php70-php-fpm" en su lugar. Si necesita ambos, cambie la opción de escuchar en la definición del grupo y la configuración de nginx.
Remi Collet
2
Fantástico, gracias. Para cualquier otra persona en el mismo barco, este es el truco: service php-fpm stop, service php70-php-fpm start. Encontrarás archivos conf de php.ini y php-fpm en /etc/opt/remi/php70/lugar de solo en etc.
Codemonkey
@RemiCollet Instalé php 5.6 usando remo repos. ¿Sabes cómo puedo actualizar 5.6 a 7? Solo necesito una versión. Thansk
PHPst
6

Para su información para aquellos que buscan instalar PHP 7 usando el remi-php70repositorio (ahora que se lanzó PHP 7.0.0), puede instalar paquetes usando los mismos nombres de paquetes que conoce y ama, por ejemplo:

  • php
  • php-cli
  • php-common
  • php-devel
  • php-fpm
  • php-gd
  • php-mbstring
  • php-pdo
  • etc.
geerlingguy
fuente
¿Cómo? php54 parece ser el predeterminado con remi-release-7.rpm?
giorgio79
1
@ giorgio79 si habilita remi-php70.repoy deshabilita todas las demás versiones de php desde los repositorios remi, la ejecución yum install php-fpmpor defecto usa 7.0, pero esto NO funciona con 7.1 (u otras versiones futuras)
suavemente el
2

PHP70 también parece instalar todo en / etc / opt / remi / php70 /:

deberás ejecutar:

source /opt/remi/php70/enable
usuario1455180
fuente
3
Deberías dar más detalles. ¿Por qué necesitas ejecutar eso? ¿Qué hace? ¿Cómo ayuda al OP a encontrar el módulo Apache?
Marki
Si PHP 7 aún no funciona, deberá ejecutarlo para que funcione. Agregará una línea en apache para cargar el módulo php70.
user1455180
esto dejará de funcionar si cierra sesión y vuelve a iniciar sesión. Este es el problema al que me enfrento.
Edward
¡Qué diablos me ha quemado este en mi instalación 7.4! Se agregaron las entradas PATH según sea necesario y está funcionando. Sheesh no tengo idea de por qué fue diseñado así!
Emmdee
1

Si tiene instalada una versión anterior de php (como 5.6), no olvide hacer algo como esto:

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

Reinicie apache y eso debería hacerlo.

Bozidar Sikanjic
fuente
1
Curiosamente, esta solución me lo arregló después de algunas horas de murmurar.
giorgio79
1

Para cualquier otra persona que intente actualizar PHP 5.6 a 7.0.1 en Centos 6.7:

Logré hacer que esto funcione hoy casi como @mbalparda ha enumerado pero sin usar epel-release (aunque algunos repositorios de epel están habilitados y en uso)

Tenía php 5.6 de IUS ( https://ius.io/GettingStarted/ ) repo ( https://centos6.iuscommunity.org/ius-release.rpm ) instalado, así que los eliminé:

# 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
...

y entonces

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

seguido de los comandos enumerados:

# 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
sitio80443
fuente
mezclar php70- * y php56u- * paquete en el mismo comando parece muy extraño. Probablemente no deseado. Y si desea una versión única, usar SCL no es la solución más simple. Lo más simple es habilitar el repositorio remi-php70 y "yum update". Recuerde probar el nuevo asistente: rpms.remirepo.net/wizard
Remi Collet
@RemiCollet, gracias por señalar el error tipográfico, editó la publicación para reflejar lo mismo. Tenía la intención de escribir php70-php-mysqlnd, etc. ¡Gracias!
site80443