lunes, 8 de diciembre de 2014

Actualizar de PHP 5.3 a PHP 5.4 usando CentOS y Virtualmin para poder usar Moodle 2.7 o posteriores.

Hace poco tuve que actualizar Moodle a 2.8+ y utilice el repo de Remi tal como dicen en otros posts que se encuentran al googlear.

El problema es que al final, los sites no cargaban, sólo páginas en blanco.

Encontré este link:
http://reviews.myhken.com/upgrading-php-from-5-3-x-to-5-4-x-or-5-5-x-on-centos-6-5-with-virtualmin/

Y aunque funciona bien parcialmente, el problema es que los sites corriendo como php_mod ya no funcionaban.

Lo resolví así:

Renombré /etc/httpd/conf.d/php.conf como php.conf.no tal como decían en el link.
Pero en su lugar copié php.conf de otro servidor que aún tenía php 5.3:
#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#

  LoadModule php5_module modules/libphp5.so


  LoadModule php5_module modules/libphp5-zts.so

#
# Cause the PHP interpreter to handle files with a .php extension.
#
AddHandler php5-script .php
AddType text/html .php
#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php
#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
#
#AddType application/x-httpd-php-source .phps
Y nada más, ya no modifiqué /etc/httpd/conf/httpd.conf para quitar las líneas que empezaran por php_ (ni reemplazándolas por #php_).

Aparentemente todo el problema es causado por las líneas SetHandler del nuevo archivo php.conf.

Con esta configuración, funciona PHP 5.4 con cualquiera de los tres modos: mod_php, cgi o fcgi.

De todos modos, la instalación de Moodle la tuve que hacer con el modo CGI:
https://moodle.org/mod/forum/discuss.php?d=221196