реклама на сайте
подробности

 
 
> PHP на платформе AT91SAM9260 + Linux uclibcgnueabi, PHP-интерпретатор не понимает регулярок (например preg_match() )
Dimmy
сообщение Nov 16 2009, 09:16
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 106
Регистрация: 12-09-05
Пользователь №: 8 503



Есть необходимость поставить Smarty template engine на указанную в топике платформу.
При сборке файловой системы buildroot-ом галки на опциях:
Package selection for the target->pcre
и
Package selection for the target->Interpreter languages / Scripting->PHP->PHP extensions->PCRE
установлены.

Более того, при просмотре makefile в каталоге /buildroot/buildarm/php-5.2.10
в параметры CONFIGURE_OPTIONS и CONFIGURE_COMMANDS включена опция '--with-pcre-regex'
и далее по тексту...

При исполнении php-скрипта в CGI-mode в браузере следующая ошибка:

Fatal error: Call to undefined function preg_match() in /usr/lib/php/Smarty/Smarty.class.php on line 1637

присмотр результатов исполнения ф-ции phpinfo() дал следующий результат:

Configure Command: './configure' '--target=arm-linux' '--host=arm-linux' '--build=i386-pc-linux-gnu' '--prefix=/usr' '--exec-prefix=/usr' '--sysconfdir=/etc' '--disable-gtk-doc' '--disable-nls' '--disable-ipv6' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-all' '--without-pear' '--with-config-file-path=/etc' '--localstatedir=/var' '--enable-cli' '--enable-cgi' '--enable-fastcgi' '--enable-posix' '--enable-spl' '--enable-session' '--with-zlib=/home/xxx/buildroot_09_08/build_arm/staging_dir/usr' '--with-sqlite' '--enable-sqlite-utf8'

Как видно, есть все что угодно:
'--with-sqlite'
'--with-zlib=/home/xxx/buildroot_09_08/build_arm/staging_dir/usr'
но только не
'--with-pcre-regex'

Какой танец станцевать? чтоб заработало?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
Damon
сообщение Nov 20 2009, 07:05
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 12-12-05
Пользователь №: 12 125



Ну, как я понял PHP pcre installation
Цитата
Note: As of PHP 5.3.0 this extension cannot be disabled and is therefore always present.
It is still possible to build against an external PCRE library by using --with-pcre-regex=DIR

т.е. конфигурятор просто не находит либу и отключает сию опцию? Просмотрите внимательнее вывод ./configure. Обычно он пишет, что-то вроде: "checking for <lib/header>... yes", если нашел и "... no", если не нашел. Если проблема в этом, просто добавьте в параметры конфигурятора абсолютный путь к библиотеке (с помощью --with-pcre-regex=DIR). Абсолютный путь, конечно криво указывать (!), но зато способ быстро заставить работать. Если проблема в этом, потом можно и сборочные скрипты поправить.
Go to the top of the page
 
+Quote Post
Dimmy
сообщение Dec 9 2009, 07:58
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 106
Регистрация: 12-09-05
Пользователь №: 8 503



Проблема решилась более простым способом - создал новый проект и пересобрал ФС наново. Очевидно где-то некорректно отрабатываются зависимости при инкрементной сборке. Странно - разработчики билдрута молитвенно клянутся, что добавление пакетов в конфиге и последующая пересборка ФС работают на-ура...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 09:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01738 секунд с 7
ELECTRONIX ©2004-2016