2012-04-05 20 views
6

tất cả mọi người! FreeBSD noobie đang tìm kiếm một số trợ giúp về tích hợp PCRE và Apache với mod_php.PCRE được biên dịch mà không cần sự hỗ trợ UTF

Những gì tôi có:

  • FreeBSD 8.2-CHÍ-p3
  • Apache/2.2.22 (FreeBSD, được xây dựng từ cổng)
  • PHP 5.3.10 với Suhosin-Patch (cli) (xây dựng: 06 Tháng 4 2012 02:58:27) (không phải từ cổng) phiên bả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 nói với tôi, ông sử dụng phiên bản PCRE dưới đây:

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 

Và tất cả mọi thứ hoạt động tốt, khi tôi cố gắng chạy ứng dụng PHP của tôi từ dòng lệnh, theo cách như vậy php < somecode.php.

Nhưng khi tôi thực hiện nó thông qua apache, tôi nhận được lỗi này: Compilation failed: this version of PCRE is compiled without UTF support at offset 0

Tôi đã cố gắng để xây dựng lại apache từ cổng với --with-pcre=/usr/local/bin, nhưng thất bại của mình với thông điệp rằng apache không thể tìm thấy PCRE-config kịch bản.

Điều gì có thể sai?

+0

Hãy nhìn vào [câu trả lời này] (http://stackoverflow.com/a/2107027/198536) cho một câu hỏi rất giống nhau. – wallyk

+0

@wallyk, cảm ơn! Nhưng đó không phải là biến thể của tôi. Tôi đã biên dịch lại PCRE với hỗ trợ utf và unicode và nó hoạt động tốt với php trong chế độ cli. Vấn đề của tôi là trong mô-đun apache pcre, nếu tôi hiểu đúng. – RomiC

+1

Bạn đã kiểm tra xem php trên apache có giống nhau không, giống như lệnh php từ dòng lệnh? Có thể bạn có phiên bản thứ hai. Ngoài ra kiểm tra, có thể có hai phiên bản của pcre được cài đặt. – arved

Trả lời

4

Sự cố được giải quyết chỉ được xây dựng lại apache với hệ thống pcre thay vì mặc định. Để làm như vậy, hãy xây dựng apache của bạn với tùy chọn --with-pcre, có chứa đường dẫn đầy đủ đến pcre-config bao gồm cả chính cấu hình pcre. Trong trường hợp của tôi là --with-pcre=/usr/local/bin/pcre-config.

Nhờ tất cả)

+0

Cảm ơn bạn đã theo dõi! – wallyk

Các vấn đề liên quan