martes, 15 de abril de 2014

Cómo actualizar a php54 en MAC usando macports

Se debe abrir un terminal y correr los siguientes comandos:


sudo port install php54 php54-apache2handler
sudo port select php php54
sudo apachectl restart
Verificar la versión usando: php -i
PHP 5.4.27 (cli) (built: Apr  4 2014 03:18:01) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

miércoles, 9 de abril de 2014

Cómo mover los archivos desde sites/custom/* a sites/all/* en una instalación de Drupal 7

Revisando la estructura de archivos de un proyecto multisite sobre Drupal 7 en el que debía trabajar, observé que las carpetas que contenía los temas, módulos y librerías comunes a todos los sitios estaban en una carpeta custom y la carpeta all había sido eliminada. Es decir que la estructura de la carpeta sites era como la que se muestra a continuación:

sites/default
sites/custom
sites/site1
sites/site2

Seguí los siguientes pasos para reemplazar la carpeta custom por all, y evitar que drupal deje de funcionar:


  • Renombrar la carpeta desde el terminal: mv sites/custom sites/all 
  • Correr los siguientes sql queries para que drupal busque los archivos en el directorio all



UPDATE system SET filename = REPLACE(filename, 'sites/custom/libraries', 'sites/all/libraries');
UPDATE registry SET filename = REPLACE(filename, 'sites/custom/libraries', 'sites/all/libraries');
UPDATE registry_file SET filename = REPLACE(filename, 'sites/custom/libraries', 'sites/all/libraries');

UPDATE system SET filename = REPLACE(filename, 'sites/custom/themes', 'sites/all/themes');
UPDATE registry SET filename = REPLACE(filename, 'sites/custom/themes', 'sites/all/themes');
UPDATE registry_file SET filename = REPLACE(filename, 'sites/custom/themes', 'sites/all/themes');

UPDATE system SET filename = REPLACE(filename, 'sites/custom/modules', 'sites/all/modules');
UPDATE registry SET filename = REPLACE(filename, 'sites/custom/modules', 'sites/all/modules');
UPDATE registry_file SET filename = REPLACE(filename, 'sites/custom/modules', 'sites/all/modules');


TRUNCATE TABLE cache;
TRUNCATE TABLE cache_bootstrap;
TRUNCATE TABLE cache_menu;
TRUNCATE TABLE cache_page;
TRUNCATE TABLE cache_path;


En el caso de que la carpeta custom contenga otros directorios además de libraries, themes y modules; se debe agregar los 3 queries con el nombre de los directorios.