您的位置:首页 > 编程语言 > PHP开发

给php安装rlib扩展的方法 推荐

2008-03-25 17:23 549 查看
rlib的首页
http://rlib.sicompos.com/
这是一个产生报表的工具

现在一个php的程序需要使用
首先当然是下载
http://sourceforge.net/project/showfiles.php?group_id=88448
解压后按照INSTALL所说的那三步走
./configure
make
make install
一切都没问题,安装成功

但是开发人员说没装好,访问的页面显示
Fatal error: Call to undefined function: rlib_init()
而并没有出现想要的报表

很明显rlib这个extension扩展并没有被php载入

如何解决呢?难道要重新编译php?
翻出很久之前的安装过程,是装好php之后再装的rlib扩展.所以应该不需要重装php

查看phpinfo的页面,发现
"Configuration File (php.ini) Path[/b]"这一栏写的是/usr/local/php/lib/ 而没有指出php.ini,显然这个路径下面没有,简单,直接copy一个到这个路径下.

重启apache,再看phpinfo的页面,php.in已经列出来了
"extension_dir"这一栏是./ ,而我的rlib.so和rlib.sa在/usr/local/php/lib/php/extensions/debug-non-zts-20041030这个目录下
显然php.ini中的设置不对.

正确的安装办法[/b]:[/b]
首先看本机的php装了几个.因为有的机器上装了多个php.要确保rlib装在正确的php下,最好先指定好php-config的路径,我现在想要把rlib装在/usr/local/php这个下
输入whereis php-config [/b]来检查看这个程序所在的地方
输出显示/usr/bin下有一个php-config,所以将其重命名禁用.
然后修改PATH变量,指到正确的php-config路径,执行
PATH=/usr/local/php/bin:$PATH[/b]
查看PATH变量的值
echo $PATH 输出会有刚指定的路径/usr/local/php/bin

然后安装rlib,解压缩之后执行
./configure 输出如下
rlib-1.3.7:
prefix: /usr/local
compiler: gcc
Memory debugging: no
Warning Fun: no
Crash detection: yes
UTF8 disabled: yes
WIN32 build: no
Documentation: no

INPUTS:
MYSQL: yes
POSTGRES: no
ODBC: no

COMPRESSION:
PDF: yes
GRAPHING:
PDF: Always
HTML: no

BINDINGS:
PHP: yes
PHP entension dir: /usr/local/php/lib/php/extensions/no-debug-non-zts-20041030[/b]
PYTHON: no
PYTHON version: 2.2
PYTHON entension dir:
JAVA: no
CSHARP: no
PERL: yes
PERL entension dir: /usr/lib/perl5/5.8.0/i386-linux-thread-multi

** If you like RLIB send a postcard from where you are in the world to:
** Bob Doan - 4140 Skyron Drive - Doylestown - PA - 18901 – USA

Music: Coldplay / Virgin Radio
Having Problems: [email]rlib-users@lists.sf.net[/email]
Want To Contribute: [email]rlib-devel@lists.sf.net[/email]
Commercial License: [email]rlib-sales@sicom.com[/email]
注意php exention dir[/b] 所指的路径,也就是rlib.so这个extension库安装的位置

然后执行
make
make install
输出关键的地方是
/usr/bin/install -c .libs/rlib.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20041030/rlib.so
/usr/bin/install -c .libs/rlib.lai /usr/local/php/lib/php/extensions/no-debug-non-zts-20041030/rlib.la
PATH="$PATH:/sbin" ldconfig -n /usr/local/php/lib/php/extensions/no-debug-non-zts-20041030
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20041030
说明已经装好库了,可以查看
ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20041030/
就会列出库文件rlib.la和rlib.so

查看phpinfo页面,注意下面几个变量的值
Configuration File (php.ini) Path [/b] 必须显示的完整的php.ini的路径,如/usr/local/php/lib/php.ini
如果只是目录,就需要手动复制一个php.ini到这个目录下,然后重启apache,直到看到这个项目是完整路径
extension_dir [/b]这个是扩展库安装的目录,必须指定为rlib.so安装的位置.

这里我们修改php.ini
指定扩展库目录的位置
extension_dir ="/usr/local/php/lib/php/extensions/debug-non-zts-20041030"[/b]
而默认的是extension_dir ="./"

增加扩展库的支持
extension=rlib.so[/b]
重启apache即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 职场 休闲 rlib