Inicio > Howto, Linux, PHP, Servidores > Soporte Unicode en CentOS 5.2 con PHP y PCRE

Soporte Unicode en CentOS 5.2 con PHP y PCRE

Martes, 19 de mayo de 2009 Dejar un comentario Ir a comentarios

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

Categories: Howto, Linux, PHP, Servidores Tags: , , ,
  1. Alexander Garzon
    Viernes, 31 de julio de 2009 a las 18:18 | #1

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

    Gracias.

  2. admin
    Viernes, 31 de julio de 2009 a las 18:22 | #2

    me alegra que te halla ayudado ;)

  1. Sin trackbacks aún.