Здравствуйте!
Установил apache2,php5 - все работает, только без регулярных выражений.Fatal error: Call to undefined function preg_replace() in /usr/local/www/phpmyadmin/libraries/sanitizing.lib.php on line 37
php собран без pcre: ./configure --without-pcre-regex
>Здравствуйте!
>Установил apache2,php5 - все работает, только без регулярных выражений.
>
>Fatal error: Call to undefined function preg_replace() in /usr/local/www/phpmyadmin/libraries/sanitizing.lib.php on line 37
>
--enable-versioning --enable-memory-limit --with-layout=GNU --with-confg-file-scan-dir=/usr/loval/etc/php --disable-all --enable-libxml --with-libxml-dir=... --enable-reflection --enable-spl --program-prefix="" --with-apxs2=... --with-mysqlэто в Makefile все. Я сам добавил лишь последние две строчки. Может --disable-all всму виной? Как указать на сборку с рег. выражениями?
>>Здравствуйте!
>>Установил apache2,php5 - все работает, только без регулярных выражений.
>>
>>Fatal error: Call to undefined function preg_replace() in /usr/local/www/phpmyadmin/libraries/sanitizing.lib.php on line 37
>>
>--enable-versioning --enable-memory-limit --with-layout=GNU --with-confg-file-scan-dir=/usr/loval/etc/php --disable-all --enable-libxml --with-libxml-dir=... --enable-reflection --enable-spl --program-prefix="" --with-apxs2=... --with-mysql
>
>
>это в Makefile все. Я сам добавил лишь последние две строчки. Может
>--disable-all всму виной? Как указать на сборку с рег. выражениями?--disable-all это круто, я даже о таком не думал, а с какой целью с таким параметром собирать?
--with-regex=system
должно помочь
>--disable-all это круто, я даже о таком не думал, а с какой
>целью с таким параметром собирать?Подскажу: сначала отключаем все модули, а потом включаем только те, которые нужны. --disable-all присутствует в Makefile по-умолчанию.
>Подскажу: сначала отключаем все модули, а потом включаем только те, которые нужны.
>--disable-all присутствует в Makefile по-умолчанию.тогда можно сделать вывод что --disable-all не влияет на pcre (Perl Compatible Regular Expressions) поскольку поумолчанию эта опция тоже включена
я б посмотрел phpinfo();
>>Подскажу: сначала отключаем все модули, а потом включаем только те, которые нужны.
>>--disable-all присутствует в Makefile по-умолчанию.
>
>тогда можно сделать вывод что --disable-all не влияет на pcre (Perl Compatible
>Regular Expressions) поскольку поумолчанию эта опция тоже включена
>
>я б посмотрел phpinfo();Женская логика у вас, уважаемый :) Откуда сделан столь "глубокомысленный" вывод, не понятно.
Если после --disable-all стоит --with-regex, то не влияет.
>>>Подскажу: сначала отключаем все модули, а потом включаем только те, которые нужны.
>>>--disable-all присутствует в Makefile по-умолчанию.
>>
>>тогда можно сделать вывод что --disable-all не влияет на pcre (Perl Compatible
>>Regular Expressions) поскольку поумолчанию эта опция тоже включена
>>
>>я б посмотрел phpinfo();
>
>Женская логика у вас, уважаемый :) Откуда сделан столь "глубокомысленный" вывод, не
>понятно.
>Если после --disable-all стоит --with-regex, то не влияет.Если в Makefile стоит по умолчанию --disable-all
то
./configure --with-apxs2=/usr/local/apache2/bin/apxsсоберет php без поддержки регулярных выражений?
>>>>Подскажу: сначала отключаем все модули, а потом включаем только те, которые нужны.
>>>>--disable-all присутствует в Makefile по-умолчанию.
>>>
>>>тогда можно сделать вывод что --disable-all не влияет на pcre (Perl Compatible
>>>Regular Expressions) поскольку поумолчанию эта опция тоже включена
>>>
>>>я б посмотрел phpinfo();
>>
>>Женская логика у вас, уважаемый :) Откуда сделан столь "глубокомысленный" вывод, не
>>понятно.
>>Если после --disable-all стоит --with-regex, то не влияет.
>
>Если в Makefile стоит по умолчанию --disable-all
>то
>./configure --with-apxs2=/usr/local/apache2/bin/apxs
>
>соберет php без поддержки регулярных выражений?функция preg_replace использует perl совместимые регулярные выражения
для этого надо добавить параметр --with=pcre
>Если в Makefile стоит по умолчанию --disable-allВы заметили, что --disable-all в начале? А потом идет перечисление тех, модулей, которые стоит включить(выключаю все, а потом включаю, что нужно).
>то
>./configure --with-apxs2=/usr/local/apache2/bin/apxs
>
>соберет php без поддержки регулярных выражений?Точно. Чтобы было с ними, нужно:
./configure --disable-all --with-apxs2 --with-regex --with-mregex --with-pcre--with-regex (обычный regex)
--with-mregex (multibyte regex)
--with-pcre (Perl совместимый)
ладно, все это превращается в ненужный флэйм
главное все же человеку помочь, а он то и не пишет получилось у него чего или нет
>ладно, все это превращается в ненужный флэйм
>главное все же человеку помочь, а он то и не пишет получилось
>у него чего или нет
Добавил все, что нужно. Пересобрал. Регулярные не работают! Кабель вырезали и поэтому интернета нету... (собирал из /usr/ports/distfiles) хочу подождать когда починят и попробовать заново.
>Добавил все, что нужно. Пересобрал. Регулярные не работают! Кабель вырезали и поэтому
>интернета нету... (собирал из /usr/ports/distfiles) хочу подождать когда починят и попробовать
>заново.
<?
phpinfo();
?>Дай всю строку "Configure Command"
#Makefile
...
CONFIGURE_ARGS= --enable-versioning \
--enable-memory-limit \
--with-layout=GNU \
--with-config-file-scan-dir=${PREFIX}/etc/php \
--disable-all \
--enable-libxml \
--with-libxml-dir=${LOCALBASE} \
--enable-reflection \
--enable-spl \
--program-prefix="" \
--with-apxs2=/usr/local/sbin/apxs \
--with-mysql \
--with-regex \
--with-mregex \
--with-pcre
...
make && make install
Запускаю Apache, смотрю phpinfo() - php работает, но регулярные выражения по-прежниму не работают:Fatal error: Call to undefined function preg_replace() in /usr/local/www/phpmyadmin/libraries/sanitizing.lib.php on line 37
#/usr/ports/lang/php5/work/php-5.2.0/pear/install-pear.txt
+----------------------------------------------------------------------+
| The installation process is incomplete. The following resources were |
| not installed: |
| |
| PEAR: PHP Extension and Application Repository |
| |
| To install these components, |
| download http://pear.php.net/install-pear.phar to php-src/pear/ |
| become the superuser and execute: |
| |
| # make install-su |
+----------------------------------------------------------------------+Найти install-pear.phar не удалось...
фууух, разобрался!
Нужно отдельно поставить порт pear, а пото еще и php-extensions! Все заработало! Спасибо за помощь!