Недавно я обновил свой PHP до версии 5.4.1 на своей Lion OS X 64bit, я получаю ошибку, в Codeigniter:PHP 5.4 после установки: preg_match(): сбой компиляции: неизвестные параметры бит (ы) установлены со смещением 0
Severity: Warning
Message: preg_match(): Compilation failed: unknown option bit(s) set at offset 0
Filename: core/Utf8.php
Line Number: 44
Я Googled проблемы, это, кажется, проблема с Lib PCRE в PHP, а я последовал за this tutorial, который показывает, установить PCRE с самогон, который я сделал (я бегу PCRE 8.30) и это не решило проблему.
Я пробовал искать решения, но я не натолкнулся на тот, который помог - есть ли способ исправить эту проблему с PCRE lib?
EDIT: Просто редактировал этот вопрос, чтобы напомнить мне, что моя установка была:
./configure \
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/private/etc \
--with-apxs2=/usr/sbin/apxs \
--enable-cli \
--with-config-file-path=/etc \
--with-libxml-dir=/usr \
--with-openssl=/usr \
--with-kerberos=/usr \
--with-zlib=/usr \
--enable-bcmath \
--with-bz2=/usr \
--enable-calendar \
--with-curl=/usr \
--enable-dba \
--enable-exif \
--enable-ftp \
--with-gd \
--with-freetype-dir=/usr/X11/ \
--with-jpeg-dir=/usr \
--with-png-dir=/usr/X11/ \
--enable-gd-native-ttf \
--with-icu-dir=/usr \
--with-iodbc=/usr \
--with-ldap=/usr \
--with-ldap-sasl=/usr \
--with-libedit=/usr \
--enable-mbstring \
--enable-mbregex \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysql-sock=/var/mysql/mysql.sock \
--with-readline=/usr \
--enable-shmop \
--with-snmp=/usr \
--enable-soap \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--with-tidy \
--enable-wddx \
--with-xmlrpc \
--with-iconv-dir=/usr \
--with-xsl=/usr \
--enable-zip \
--with-pgsql=/usr \
--with-pdo-pgsql=/usr \
--with-mcrypt=/usr/local/lib
Я получаю ту же ошибку, используя CakePHP 2.1, используя preg_replace. У меня такая же настройка, как у вас (Lion, PHP 5.4.1, pcre 8.30). Есть некоторые условия, при которых я получаю эту ошибку, а другие, где preg_replace не работает вообще.Таким образом, это не проблема, ограниченная этими переменными с Codeigniter. –
Я только что заметил что-то на моем конце. Хотя у меня есть версия 8.30, установленная через homebrew, и я ссылаюсь на ее путь во время config, phpinfo() показывает версия 8.02! Держу пари, что ' проблема. Посмотрите, так ли это на вашем конце. Теперь мне просто нужно выяснить, как его собрать, используя 8.30. –
Да, это именно то, что я сделал, я не понимаю, почему PHP не подбирает его, даже если вы укажете каталог '/ usr' для pcre, даже если есть домашняя установка pcre. – MacMac