Para configurar php7 para que se ejecute con su servidor, necesita hacer alguna configuración:
1. Asegúrese de eliminar cualquier rastro de php/php5
Abra una terminal Ctrl+ Alt+ Ty:
cd /etc/apache2/mods-enabled
ls -la
La salida no debe contener ninguno php5.conf
o php5.load
, pero si lo hace, haga lo siguiente:
# this is the proper way of disabling modules
sudo a2dismod php5
# run this only if the above command didn't remove the php5 sym-links
sudo rm php5.load
sudo rm php5.conf
Ahora agregue el php7.0.conf
y en su php7.0.load
lugar:
# this is the proper way of enabling modules
sudo a2enmod php7.0
# run this only if the above command didn't create the php7.0 sym-links
sudo ln -s php7.0.conf ../mods-available/php7.0.conf
sudo ln -s php7.0.load ../mods-available/php7.0.load
La salida de ls -la php*
debería verse así:
lrwxrwxrwx 1 root root 29 Apr 15 03:55 php7.0.conf -> ../mods-available/php7.0.conf
lrwxrwxrwx 1 root root 29 Apr 15 03:55 php7.0.load -> ../mods-available/php7.0.load
Después de ocuparnos de los módulos, ahora llegamos al /etc/apache2/conf-enabled
directorio. Elimine cualquier rastro de php / php5 aquí también porsudo rm <name>
Entonces, si es necesario, haga lo siguiente:
# the proper way of enabling configs
sudo a2enconf php7.0-cgi
sudo a2enconf php7.0-fpm
# do those commands only if the above didn't work out
sudo ln -s php7.0-cgi.conf ../conf-available/php7.0-cgi.conf
sudo ln -s php7.0-fpm.conf ../conf-available/php7.0-fpm.conf
La salida de ls -la php*
debería verse así:
lrwxrwxrwx 1 root root 33 Apr 21 17:00 php7.0-cgi.conf -> ../conf-available/php7.0-cgi.conf
lrwxrwxrwx 1 root root 33 Apr 21 17:01 php7.0-fpm.conf -> ../conf-available/php7.0-fpm.conf
2. Reiniciar Apache2
Antes de reiniciar Apache, asegúrese de limpiar Apache y error.log
luego reinicie:
sudo su
> /var/log/apache2/error.log
exit
sudo service apache2 restart
Ahora verifique error.log
emitiendo cat /var/log/apache2/error.log | less
(canalizar menos le permite desplazarse fácilmente hacia arriba y hacia abajo, q
sale de la salida).
Si su error.log
contiene muchos (y quiero decir literalmente un montón de) algunos MIBS not found
hacen lo siguiente:
sudo apt install libsnmp-dev
sudo net-snmp-config --snmpconfpath
sudo apt-get install snmp snmp-mibs-downloader
sudo su
> /var/log/apache2/error.log
exit
sudo service apache2 restart
La comprobación de nuevo error.log
ahora solo debe contener 3 líneas:
[Sat Apr 23 01:39:07.504005 2016] [mpm_prefork:notice] [pid 1647] AH00169: caught SIGTERM, shutting down
[Sat Apr 23 01:39:08.685774 2016] [mpm_prefork:notice] [pid 9590] AH00163: Apache/2.4.18 (Ubuntu) mod_perl/2.0.9 Perl/v5.22.1 configured -- resuming normal operations
[Sat Apr 23 01:39:08.685938 2016] [core:notice] [pid 9590] AH00094: Command line: '/usr/sbin/apache2'
Su Apache con php7.0 ahora debería estar configurado correctamente.
php
comando) es ortogonal a los otros SAPI de PHP (apache2, FPM, CGI, ...), por lo que la línea de comando de trabajo PHP no dice nada acerca de trabajar PHP en el servidor HTTP.