Soporte Unicode en CentOS 5.2 con PHP y PCRE

19 Mayo, 2009 por admin Dejar una respuesta »

No hace mucho me encontré con un problema en un servidor nuevo de la empresa (un CentOS con Plesk), tras instalar el framework Kohana y probar el test de compatibilidad que trae este framework me avisaba de que podría no funcionar bien ya que no tenía en mi servidor soporte unicode en el PCRE, para probar si nuestro PCRE tiene soporte unicode tan sólo tenemos que poner via linea de comandos:

$ pcretest -C
PCRE version 6.6 06-Feb-2006
Compiled with
  UTF-8 support
  No Unicode properties support
  Newline character is LF
  Internal link size = 2
  POSIX malloc threshold = 10
  Default match limit = 10000000
  Default recursion depth limit = 10000000
  Match recursion uses stack

Si a ti también te aparece “No Unicode properties support” al ejecutar pcre sigue leyendo :) sino te recomiendo que visites mi web de música electrónica xD

Solucionar el problema

Antes de nada comentarte que no debes usar el usuario “root” para esto, por lo que deberíamos usar un usuario normal.

Bueno una vez estamos conectados con un usuario “normal” debemos crear los siguientes directorios en la carpeta por defecto de tu usuario ej. /home/miusuario …

$ mkdir -p ~/src/rpm
$ cd ~/src/rpm
$ mkdir BUILD RPMS SOURCES SPECS SRPMS
$ mkdir RPMS/i[3456]86 RPMS/noarch RPMS/athlon

Una vez hecho esto creamos el archivo ~/.rpmmacros y escribimos lo siguiente:
# Path to top of build area
%_topdir /home/miusuario/src/rpm

A continuación nos descargamos este archivo(Recuerda que yo estoy actualizando CentOS 5.2 con PCRE 6.6) en la carpeta de nuestro usuario y ponemos:

$ rpm -ivh pcre-6.6-2.el5_1.7.src.rpm

Esto pondrá los archivos necesarios en las carpetas creadas anteriormente para poder recompilar de nuevo PCRE con soporte Unicode.
Ahora abrimos con nano (o vi eso a gusto de cada uno) el archivo

~/src/rpm/SPECS/pcre.spec

Buscamos …
%configure –enable-utf8

Una vez encontrada le añadimos lo siguiente y guardamos el archivo
%configure –enable-utf8 –enable-unicode-properties

Bueno ya tenemos todo listo para recompilar PCRE con soporte Unicode ahora tan sólo tenemos que ejecutar lo siguiente

$ rpmbuild -ba ~/src/rpm/SPECS/pcre.spec

Esto nos mostrará algo parecido a esto:

Escrito: /home/miusuario/src/rpm/SRPMS/pcre-6.6-2.7.src.rpm
Escrito: /home/miusuario/src/rpm/RPMS/i386/pcre-6.6-2.7.i386.rpm
Escrito: /home/miusuario/src/rpm/RPMS/i386/pcre-devel-6.6-2.7.i386.rpm
Escrito: /home/miusuario/src/rpm/RPMS/i386/pcre-debuginfo-6.6-2.7.i386.rpm

Ahora sí debemos cambiar a root para poder instalar el nuevo rpm:

$ rpm -Uvh /home/miusuario/src/rpm/RPMS/i386/pcre-6.6-2.7.i386.rpm

Reiniciamos apache :)   listo! problema resuelto :)

Para este pequeño tutorial me he basado en los manuales Unicode Support on CentOS 5.2 with PHP and PCRE y How to patch and rebuild an RPM package

Publicidad

2 comentarios

  1. Alexander Garzon dice:

    Muchas gracias, exactamente estaba pasando por eso mismo con kohana y diste con la solución.

    Gracias.

  2. admin dice:

    me alegra que te halla ayudado ;)

Deja un comentario