对BAX的加载libphpbbslib.so的方法的补充
在安装smthbbs时我也遇到了phpinfo()中没有smth_bbs enabled信息,不能
加载libphpbbslib.so的情况,虽然试验了flyriver和BAX提出的两种方案,
flyriver还连到我的机器上帮我看了,都没有解决问题,最后我偶然找到
一个办法解决了这个问题,相当于他们的方法的综合。
所用的程序为smthbbs-1.1.1、php-4.3.1、apache-1.3.27,都下载自
ftp://dev.smth.org,此前试验过smthbbs-1.1不成功。
先不管smthbbs,把apache和php解压,分别编译安装。它们的配置如下:
apache:
./configure --with-layout=RedHat --enable-module=so --disable-module=userdir
--server-uid=bbs --server-gid=bbs
PHP
./configure --prefix=/usr --with-apxs --without-mysql
测试两者都能正常运行,这个php的安装说明上讲得很详细。
然后把smthbbs解压缩,devel.h中的宏定义#define BUILD_PHP_EXTENSION 1
可以加,也可以不加,反正在我这里,用常规方法加不加都不成功,httpd根本
就不能运行。
它的配置如下:
./configure --enable-site=devel --without-mysql --with-php=/usr/include/php
--with-www=/var/www
编译安装以后一般telnet界面都可以正常运行,libphpbbslib却不能加载。
然后是跟大家都不同的一步,把smthbbs-1.1/bbs2www/phplib整个拷贝到php-4.3.1/ext
目录下成为smth_bbs目录,然后到php-4.3.1源代码目录下buildconf,这个版本的php
不需要在buildconf后加-force参数。然后可以看看configure --help产生的帮助,
已经有smth_bbs的信息了:
--enable-smth_bbs Enable smth_bbs support
重新配置编译安装php,带上smth_bbs
./configure --prefix=/usr --with-apxs --without-mysql --enable-smth_bbs
在/usr/lib做符号连接:
ln -s /var/www/libexec/bbs/libphpbbslib.so /usr/lib/libphpbbslib.so
在/usr/lib/php.ini中加入extension=libphpbbslib.so
启动apache,在phpinfo()函数返回的网页中,您就可以看到可爱的“smth_bbs enabled”
的蓝色条条了!
--
FROM 218.26.243.165