2012-04-05 12 views
6

tutti! FreeBSD noobie cerca aiuto nell'integrazione di PCRE e Apache con mod_php.PCRE è compilato senza supporto UTF

Quello che ho:

  • FreeBSD 8.2-RELEASE-p3
  • Apache/2.2.22 (FreeBSD, costruita dai porti)
  • PHP 5.3.10 con Suhosin-Patch (CLI) (costruzione: 6 aprile 2012 02:58:27) (non dai porti) versione
  • 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 mi dice, che usa la versione di PCRE di seguito:

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 

E tutto funziona bene, quando provo a fare funzionare la mia applicazione PHP da linea di comando, in modo tale php < somecode.php.

Ma quando eseguo via apache, ricevo questo errore: Compilation failed: this version of PCRE is compiled without UTF support at offset 0

Ho cercato di ricostruire apache dai porti con --with-pcre=/usr/local/bin, ma la sua non riuscita con messaggio che apache non riusciva a trovare lo script pcre-config.

Cosa c'è di sbagliato?

+0

Date un'occhiata a [questa risposta] (http://stackoverflow.com/a/2107027/198536) per una domanda molto simile. – wallyk

+0

@wallyk, grazie! Ma non è la mia variante. Ho già ricompilato PCRE con il supporto per utf e unicode e funziona perfettamente con php in modalità cli. Il mio problema è nel modulo apre pcre, se ho capito bene. – RomiC

+1

Hai controllato che il php sull'apache sia lo stesso, come quello della riga di comando? Forse hai una seconda versione. Controlla anche, forse ci sono due versioni di pcre installate. – arved

risposta

4

Problema risolto solo ricostruito apache con pcre di sistema anziché predefinito. Per fare lo stesso, crea il tuo apache con l'opzione --with-pcre, che dovrebbe contenere il percorso completo a pcre-config incluso pcre-config stesso. Nel mio caso è --with-pcre=/usr/local/bin/pcre-config.

Grazie a tutti)

+0

Grazie per il seguito! – wallyk