
<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>Màrius Duch &#187; pcre</title> <atom:link href="http://www.mariusduch.es/sobre/pcre/feed" rel="self" type="application/rss+xml" /><link>http://www.mariusduch.es</link> <description>Informática práctica para todos</description> <lastBuildDate>Wed, 19 Oct 2011 10:29:40 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.2.1</generator> <item><title>Soporte Unicode en CentOS 5.2 con PHP y PCRE</title><link>http://www.mariusduch.es/soporte-unicode-en-centos-5-2-con-php-y-pcre</link> <comments>http://www.mariusduch.es/soporte-unicode-en-centos-5-2-con-php-y-pcre#comments</comments> <pubDate>Wed, 30 Jun 2010 10:50:48 +0000</pubDate> <dc:creator>Màrius</dc:creator> <category><![CDATA[Centos]]></category> <category><![CDATA[centos]]></category> <category><![CDATA[pcre]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[soporte unicode]]></category> <guid
isPermaLink="false">http://www.mariusduch.es/?p=957</guid> <description><![CDATA[Hace unos días tuve que crear un servidor en el que se me precisaba que cumpliera un requisito que desconocía. El requisito en cuestión era: Unicode Support on CentOS 5.2 with PHP and PCRE. Se ve que es necesario para poder usar expresiones regulares en dicho servidor. Así que me puse a buscar por Internet [...]]]></description> <content:encoded><![CDATA[<p><img
class="alignleft size-full wp-image-960" title="soporte-unicode-en-centos-5-2-con-php-y-pcre" src="http://www.mariusduch.es/wp-content/uploads/soporte-unicode-en-centos-5-2-con-php-y-pcre.png" alt="" width="100" height="100" />Hace unos días tuve que crear un servidor en el que se me precisaba que cumpliera un requisito que desconocía. El requisito en cuestión era: <strong>Unicode  Support on CentOS 5.2 with PHP and PCRE</strong>. Se ve que es necesario para poder usar expresiones regulares en dicho servidor. Así que me puse a buscar por Internet y topé con varias páginas donde se explicaba este proceso, aunque siguiendo esos pasos me encontré con mas problemas, así que después conseguir finalmente mi objetivo, adjunto un manual completo de todos los pasos que realicé implementar el soporte de Unicode.</p><p><span
id="more-957"></span>0. Acedemos al servidor donde queremos implementarlo (evidentemente el OS debe ser Centos) como usuario root<br
/> 1. Vemos si esta instalado el paquete rpm-build:</p><blockquote><p>rpm -qa |grep rpm-build.</p></blockquote><p>Si no aparece nada, es que no esta instalado.</p><p>2. Si no lo tenemos instalado, lo instalamos con alguno de los siguientes modos:</p><p>2.1. MODO YUM:</p><blockquote><p>yum -y install rpm-build</p></blockquote><p>2.2. MODO RPM&#8217;S (32bits):</p><blockquote><p>mkdir /root/software<br
/> cd /root/software</p></blockquote><blockquote><p>wget ftp://ftp.pbone.net/mirror/ftp.centos.org/5.4/os/i386/CentOS/patch-2.5.4-29.2.3.el5.i386.rpm<br
/> wget ftp://ftp.pbone.net/mirror/ftp.centos.org/5.4/os/i386/CentOS/elfutils-libs-0.137-3.el5.i386.rpm<br
/> wget ftp://ftp.pbone.net/mirror/ftp.centos.org/5.4/os/i386/CentOS/diffutils-2.8.1-15.2.3.el5.i386.rpm<br
/> wget ftp://ftp.pbone.net/mirror/ftp.centos.org/5.4/os/i386/CentOS/elfutils-0.137-3.el5.i386.rpm<br
/> wget ftp://ftp.pbone.net/mirror/ftp.centos.org/5.4/os/i386/CentOS/rpm-build-4.4.2.3-18.el5.i386.rpm</p></blockquote><blockquote><p>rpm -Uvh patch-2.5.4-29.2.3.el5.i386.rpm<br
/> rpm -ivh elfutils-libs-0.137-3.el5.i386.rpm<br
/> rpm -ivh diffutils-2.8.1-15.2.3.el5.i386.rpm<br
/> rpm -ivh elfutils-0.137-3.el5.i386.rpm<br
/> rpm -ivh rpm-build-4.4.2.3-18.el5.i386.rpm</p></blockquote><p>2.3. MODO RPM&#8217;S (64bits):</p><blockquote><p>mkdir /root/software<br
/> cd /root/software</p></blockquote><blockquote><p>ftp://ftp.pbone.net/mirror/ftp.centos.org/5.4/os/x86_64/CentOS/patch-2.5.4-29.2.3.el5.x86_64.rpm<br
/> ftp://ftp.pbone.net/mirror/ftp.centos.org/5.4/os/x86_64/CentOS/elfutils-libs-0.137-3.el5.x86_64.rpm<br
/> ftp://ftp.pbone.net/mirror/ftp.centos.org/5.4/os/x86_64/CentOS/diffutils-2.8.1-15.2.3.el5.x86_64.rpm<br
/> ftp://ftp.pbone.net/mirror/ftp.centos.org/5.4/os/x86_64/CentOS/elfutils-0.137-3.el5.x86_64.rpm<br
/> ftp://ftp.pbone.net/mirror/ftp.centos.org/5.4/os/x86_64/CentOS/rpm-build-4.4.2.3-18.el5.x86_64.rpm</p></blockquote><blockquote><p>rpm -ivh patch-2.5.4-29.2.3.el5.x86_64.rpm<br
/> rpm -ivh elfutils-libs-0.137-3.el5.x86_64.rpm<br
/> rpm -ivh diffutils-2.8.1-15.2.3.el5.x86_64.rpm<br
/> rpm -ivh elfutils-0.137-3.el5.x86_64.rpm<br
/> rpm -ivh rpm-build-4.4.2.3-18.el5.x86_64.rpm</p></blockquote><p>3. Comprobación de si tenemos soporte Unicode con PHP y PCRE:</p><blockquote><p>pcretest -C</p></blockquote><p>Veremos lo siguiente:</p><blockquote><p>PCRE version 6.6 06-Feb-2006<br
/> Compiled with<br
/> UTF-8 support<br
/> No Unicode properties support<br
/> Newline character is LF<br
/> Internal link size = 2<br
/> POSIX malloc threshold = 10<br
/> Default match limit = 10000000<br
/> Default recursion depth limit = 10000000<br
/> Match recursion uses stack</p></blockquote><p>Si aparece <strong>&#8220;No Unicode properties support&#8221;</strong> es que no tenemos dicho soporte</p><p>4. Ahora accedemos de nuevo a la maquina, pero con un usuario que no sea root.</p><p>5. Creamos la siguiente carpeta:</p><blockquote><p>mkdir -p ~/src/rpm</p></blockquote><p>6. Accedemos a ella:</p><blockquote><p>cd ~/src/rpm</p></blockquote><p>7. Creamos las siguientes carpetas:</p><blockquote><p>mkdir BUILD RPMS SOURCES SPECS SRPMS</p></blockquote><p>8. Averiguamos la infraestructura de nuestra maquina:</p><blockquote><p>uname -i</p></blockquote><p>9. Nos devolvera esto o algo parecido:</p><blockquote><p>x86_64</p></blockquote><p>10. Creamos la siguiente carpeta, con el nombre de la quitectura de nuestra maquina:</p><blockquote><p>mkdir RPMS/x86_64</p></blockquote><p>11. Creamos el archivo .rpmmacros en la siguiente ruta:</p><blockquote><p>touch ~/.rpmmacros</p></blockquote><p>12. Editamos su contenido, con vi (o el editor que queramos):</p><blockquote><p>vim ~/.rpmmacros</p></blockquote><p>13. Introducimos la siguiente información dentro del fichero:</p><blockquote><p># Path to top of build area<br
/> %_topdir /home/xxxxxxxxx/src/rpm</p></blockquote><p><strong><em>IMPORTANTE: Substituir xxxxxxxxx por el nombre del usuario que estamos usando (el que no es root)</em></strong></p><p>14. Vamos la la carpeta de nuestro usuario:</p><blockquote><p>cd ~</p></blockquote><p>15. Descargamos el siguiente fichero segun nuestra arquitectura:<br
/> 15.2. Si es versión 32bits:</p><blockquote><p>wget http://mirror.centos.org/centos/5/os/i386/CentOS/pcre-6.6-2.el5_1.7.i386.rpm</p></blockquote><p>15.2. Si es versión 64bits:</p><blockquote><p>wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/pcre-6.6-2.el5_1.7.x86_64.rpm</p></blockquote><p>16. Lo instalamos:</p><blockquote><p>rpm -ivh pcre-6.6-2.el5_1.7.src.rpm</p></blockquote><p>Si ha ido bien veremos lo siguiente:</p><blockquote><p>1:pcre                   warning: user mockbuild does not exist &#8211; using root<br
/> warning: group mockbuild does not exist &#8211; using root<br
/> warning: user mockbuild does not exist &#8211; using root<br
/> warning: group mockbuild does not exist &#8211; using root<br
/> warning: user mockbuild does not exist &#8211; using root<br
/> warning: group mockbuild does not exist &#8211; using root<br
/> warning: user mockbuild does not exist &#8211; using root<br
/> warning: group mockbuild does not exist &#8211; using root<br
/> warning: user mockbuild does not exist &#8211; using root<br
/> warning: group mockbuild does not exist &#8211; using root<br
/> warning: user mockbuild does not exist &#8211; using root<br
/> warning: group mockbuild does not exist &#8211; using root<br
/> warning: user mockbuild does not exist &#8211; using root<br
/> warning: group mockbuild does not exist &#8211; using root<br
/> warning: user mockbuild does not exist &#8211; using root<br
/> warning: group mockbuild does not exist &#8211; using root<br
/> ########################################### [100%]<br
/> warning: user mockbuild does not exist &#8211; using root<br
/> warning: group mockbuild does not exist &#8211; using root</p></blockquote><p>Esto hara que se creen unos archivos en las carpetas anteriormente creadas.</p><p>17. Editamos el siguiente fichero:</p><blockquote><p>vim ~/src/rpm/SPECS/pcre.spec</p></blockquote><p>18. Buscamos la linea donde esta escrito lo siguiente:</p><blockquote><p>%configure –enable-utf8</p></blockquote><p>19. Añadimos lo siguiente, dejando la linea de este modo:</p><blockquote><p>%configure –enable-utf8 –-enable-unicode-properties</p></blockquote><p>20. Ejecutamos lo siguiente:</p><blockquote><p>rpmbuild -ba ~/src/rpm/SPECS/pcre.spec</p></blockquote><p>21. Una vez finalizado el proceso, accedemos a la maquina como usuario root.</p><p>22. Ejecutamos lo siguiente:</p><blockquote><p>rpm -Uvh /home/xxxxxxxxx/src/rpm/RPMS/i386/pcre-6.6-2.7.i386.rpm</p></blockquote><p><strong><em>IMPORTANTE: Substituir xxxxxxxxx por el nombre del usuario que hemos usado anteriormente (el que no es root)</em></strong></p><p>23. Reiniciamos apache:</p><blockquote><p>/etc/init.d/httpd restart</p></blockquote><p>24. Ejecutamos lo siguiente:</p><blockquote><p>pcretest -C</p></blockquote><p>Si todo ha ido bien veremos lo siguiente:</p><blockquote><p>PCRE version 6.6 06-Feb-2006<br
/> Compiled with<br
/> UTF-8 support<br
/> Unicode properties support<br
/> Newline character is LF<br
/> Internal link size = 2<br
/> POSIX malloc threshold = 10<br
/> Default match limit = 10000000<br
/> Default recursion depth limit = 10000000<br
/> Match recursion uses stack</p></blockquote><p>Es decir, aparecerá la frase <strong>&#8220;Unicode properties support&#8221;</strong></p> ]]></content:encoded> <wfw:commentRss>http://www.mariusduch.es/soporte-unicode-en-centos-5-2-con-php-y-pcre/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
