PHP PCRE (regex) UTF-8 desteklemiyor?

3 Cevap php

Ben sitemde bir regex çalıştırmak için çalışıyorum, ve ben bu yanıtı alıyorum:

Compilation failed: support for \P, \p, and \X has not been compiled at offset 1

Biraz Googling sonra, ben görünüşe göre benim sunucuda benim PCRE'nin UTF8 etkin değildir ve bu nedenle sorunlara neden olduğunu tespit ettik. Ben pcretest-C ile ssh zaman olsun

PCRE sürümü 6.6 06-Şubat-2006

Compiled with UTF-8 support No Unicode properties support Newline character is LF Internal link size = 2 POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000 Match recursion uses stack

Ben yum update PCRE'yi yapmak zaman güncellemek için bir şey olmadığını söylüyor.

İnsanlar yardım ... UTF-8 desteği açabilir ki bana söylüyorsun?

Ben bir çaylak değilim.

3 Cevap

PCRE'nin için RPM here yeniden iyi bir öğretici var.

Eğer gidin "Eğer için Güncelleme RPM dosyası ..." bulacaksınız öncesi bazı yerleşik RPM size sadece çalışmak istiyorsanız (sadece zarif bir yeniden, bittikten sonra Apache yeniden hatırlıyorum).

Tl; dr sürümü: --enable-utf8 ve --enable-unicode-properties ile PCRE'yi derlemeniz

Yum şimdi bir yum update pcre Centos 5 benim için sorunu çözüldü gerçekleştirerek, v6.6.6.el5_6.1 kendi depolarında PCRE'nin bulmak gerekir.

PHP "prce" application / paketini kullanmak değildir. PCRE destek PHP kitaplıkları için inşa edilmiştir. Eğer alıyorsanız hata PHP kütüphaneleri PCRE UTF-8 desteği ile derlenmiş olmadığını anlatıyor.

Sen doğru UTF-8 seçeneği ile inşa uygun PCRE statik kütüphane ile PHP derlemeniz gerekir.