bcompiler

young

Новичок
bcompiler

Суть проблемы: Выполнил все по инструкции, скомпилировал, установил. phpinfo() говорит, что все просто великолепно. Но при попытке обратится к любой функции типа bcompiler_ говорится, что она не определена.
Я нашел php-pear-bcompiler-0.4-1.src.rpm но тогда php выдает

Warning: bcompiler: Unable to initialize module Module compiled with module API=20020429, debug=0, thread-safety=0 PHP compiled with module API=20010927, debug=0, thread-safety=0 These options need to match in /usr/local/httpd/stock.sl.com.ua/docs/test/index.phtml on line

Как подъюзать bcompiler?!
 

tony2001

TeaM PHPClub
не под ту версию РНР собран модуль - найди сорцы и собери сам, там несложно.
 

young

Новичок
ты мою первую мессагу видел?

когда я собираю сам, все ок, в phpinfo() он ее видит, но ни одной функции нет!!!
 

tony2001

TeaM PHPClub
PHP:
//все доступные функции
//выдрано из исходников

bcompiler_write_class();    /* Write a class */
bcompiler_write_header();   /* Write the header */
bcompiler_write_exe_footer();/* Write the end zero byte */
bcompiler_write_footer();   /* Write the tail for a exe type file*/
bcompiler_read();           /* Read a file handle */
bcompiler_load();           /* load a file  */
bcompiler_load_exe();       /* loads an exe style file */
bcompiler_parse_class();    /* callback opcodes for a class */
тесты действительно ругаются на bzopen(); - я не ставил bz2.
остальное пашет, вроде бы.
 

young

Новичок
Вот что выдает phpinfo()
----------------
'./configure' '--with-mysql' '--with-apxs=/usr/sbin/apxs' '--with-zlib' '--with-xml' '--with-bcompiler' '--disable-mbstring'
----------------
Вот сырец:
<?
$fh = fopen("/tmp/example","w");
include "shablon.phpclass";
bcompile_write_header($fh);
bcompile_write_class($fh,"shablon");
bcompile_write_footer($fh);
fclose($fh);
?>
-----------
Вот результат
--------------
Fatal error: Call to undefined function: bcompile_write_header() in /usr/local/httpd/stock.sl.com.ua/docs/test/index.phtml on line 4
-----------
 

tony2001

TeaM PHPClub
buildconf ты сделал перед ./configure ?
строка - строкой, но должна быть табличка с надписью "bcompiler support enabled".
кстати, мне удобнее собирать external-модули - все равно у меня не продакшен-сервер.
 

young

Новичок
Да, сделал.
Ладно, если идти другим путем - как собрать bcompiler.so ?
 

tony2001

TeaM PHPClub
в директории c его сорцами:
phpize
./configure
make

cp modules/bcompiler.so <extension_dir>
//добавить строку с bcompiler.so в php.ini
apachectl restart
 
Сверху