2012-04-05 10 views
6

todos! FreeBSD noobie en busca de ayuda con la integración de PCRE y Apache con mod_php.PCRE se compila sin soporte UTF

Lo que tengo:

  • FreeBSD 8.2-RELEASE-p3
  • Apache/2.2.22 (FreeBSD, construida a partir de los puertos)
  • PHP 5.3.10 con Suhosin-Patch (CLI) (construida: Apr 6 2012 02:58:27) (no de puertos) versión
  • PCRE 8,30 2012-02-04

    Compiled with 
        8-bit support only 
        UTF-8 support 
        Unicode properties support 
        No just-in-time compiler support 
        Newline sequence is LF 
        \R matches all Unicode newlines 
        Internal link size = 2 
        POSIX malloc threshold = 10 
        Default match limit = 10000000 
        Default recursion depth limit = 10000000 
        Match recursion uses stack 
    

php -i | grep -i pcre me dice, que utiliza la versión de PCRE a continuación:

Configure Command => './configure' '--with-layout=GNU' 
         '--localstatedir=/var' '--with-config-file-scan-dir=/usr/local/etc/php' 
         '--disable-all' '--enable-libxml' '--enable-mysqlnd' 
         '--with-libxml-dir=/usr/local' '--with-pcre-regex=/usr/local/lib' 
         '--with-zlib-dir=/usr' '--program-prefix=' '--with-apxs2=/usr/local/sbin/apxs' 
         '--with-regex=php' '--with-zend-vm=CALL' 
         '--enable-zend-multibyte' '--prefix=/usr/local' 
         '--mandir=/usr/local/man' '--infodir=/usr/local/info/' 
         '--build=i386-portbld-freebsd8.2' 
pcre 
PCRE (Perl Compatible Regular Expressions) Support => enabled 
PCRE Library Version => 8.30 2012-02-04 
pcre.backtrack_limit => 1000000 => 1000000 
pcre.recursion_limit => 100000 => 100000 

Y todo funciona bien, cuando trato de ejecutar mi aplicación PHP desde la línea de comandos, de tal manera php < somecode.php.

Pero cuando ejecuto a través de Apache, recibo este error: Compilation failed: this version of PCRE is compiled without UTF support at offset 0

he tratado de reconstruir Apache desde puertos con --with-pcre=/usr/local/bin, pero su fracasado con el mensaje de que Apache no pudo encontrar la escritura pcre-config.

¿Qué podría estar mal?

+0

Eche un vistazo a [esta respuesta] (http://stackoverflow.com/a/2107027/198536) a una pregunta muy similar. – wallyk

+0

@wallyk, gracias! Pero no es mi variante. Ya recompuse PCRE con soporte para utf y unicode y funciona bien con php en cli-mode. Mi problema está en apache pcre-module, si entendí bien. – RomiC

+1

¿Comprobó que el php en el apache es el mismo, como el de la línea de comandos? Quizás tengas una segunda versión. También verifique, quizás haya dos versiones de pcre instaladas. – arved

Respuesta

4

Problema resuelto acaba de reconstruir apache con sistema pcre en lugar de por defecto. Para hacer lo mismo, construyó su apache con la opción --with-pcre, que debería contener la ruta completa a pcre-config incluyendo pcre-config. En mi caso es --with-pcre=/usr/local/bin/pcre-config.

Gracias a todos)

+0

¡Gracias por dar seguimiento! – wallyk

Cuestiones relacionadas