2012-04-05 1 views
6

все! FreeBSD noobie ищет некоторую помощь в интеграции PCRE и Apache с mod_php.PCRE скомпилирован без поддержки UTF

Что у меня есть:

  • FreeBSD 8.2-RELEASE-p3
  • Apache/2.2.22 (FreeBSD, построенный из портов)
  • PHP 5.3.10 с Suhosin-Patch (АОН) (постройки: 6 апреля 2012 2:58:27) (не из портов)
  • 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 говорит мне, что он использует версию PCRE ниже:

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 

И все прекрасно работает, когда я пытаюсь запустить мое приложение PHP из командной строки, таким образом php < somecode.php.

Но когда я исполню ее с помощью Apache, я получаю эту ошибку: Compilation failed: this version of PCRE is compiled without UTF support at offset 0

Я пытался восстановить апача из портов с --with-pcre=/usr/local/bin, но потерпел неудачу с сообщением, что апач не смог найти PCRE-конфигурационный скрипт.

Что может быть неправильным?

+0

Посмотрите [этот ответ] (http://stackoverflow.com/a/2107027/198536) на очень похожий вопрос. – wallyk

+0

@wallyk, спасибо! Но это не мой вариант. Я уже перекомпилировал PCRE с поддержкой utf и unicode, и он отлично работает с php в режиме cli. Моя проблема в pcre-модуле apache, если я правильно понял. – RomiC

+1

Вы проверили, что php на апасе тот же, что и у командной строки? Возможно, у вас есть вторая версия. Также проверьте, возможно, установлены две версии pcre. – arved

ответ

4

Решенная проблема просто восстановлена ​​apache с системным ПК, а не по умолчанию. Чтобы сделать то же самое, построили apache с параметром --with-pcre, который должен содержать полный путь до pcre-config, включая сам pcre-config. В моем случае это --with-pcre=/usr/local/bin/pcre-config.

Спасибо всем)

+0

Спасибо, что посмотрели вверх! – wallyk

 Смежные вопросы

  • Нет связанных вопросов^_^