Вопрос по apache, php – PCRE компилируется без поддержки UTF

6

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

Что я имею:

FreeBSD 8.2-RELEASE-p3 Apache/2.2.22 (FreeBSD, built from ports) PHP 5.3.10 with Suhosin-Patch (cli) (built: Apr 6 2012 02:58:27) (not from ports)

PCRE version 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

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

Что может быть не так?

@wallyk, спасибо! Но это не мой вариант. Я уже перекомпилировал PCRE с поддержкой utf и unicode, и он отлично работает с php в cli-режиме. Моя проблема в apache pcre-module, если я правильно понял. RomiC
Вы пытались пересобрать модуль apache? arrowd
Да, я только что проверил. Через pkg_info я нашел только одинphp5-5.3.10_1 и одинpcre-8.30_1. RomiC
Посмотри наthis answer на очень похожий вопрос. wallyk
Вы проверяли, что php на apache такой же, как и в командной строке? Может быть, у вас есть вторая версия. Также проверьте, возможно, установлены две версии pcre. arved

Ваш Ответ

1   ответ
4

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

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

Error: User Rate Limit Exceeded

Похожие вопросы