今天在Centos下扩展PHP mcrypt出现个小问题,mcrypt.so已经编译出来,重启Apache后发现在mcrypt扩展无效,检查php.ini中的设置是正确无误后,PHP -m 检查看扩展发现有个警告,提示:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so' - libltdl.so.3: cannot open shared object file: No such file or directory in Unknown on line 0
没有找到libltdl.so.3文件,应该是mcrypt扩展依赖的文件没有,用ldd查看依赖关系,果然是缺少了libltdl.so.3文件,
[root@localhost mcrypt]# ldd /usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
linux-gate.so.1 => (0xb7f09000)
libmcrypt.so.4 => /usr/local/libmcrypt/lib/libmcrypt.so.4 (0xb7ecf000)
libltdl.so.3 => not found
libc.so.6 => /lib/libc.so.6 (0xb7d6f000)
/lib/ld-linux.so.2 (0x0011f000)
网上找了一下资料,是由于安装目录结构的原因引起在/usr/lib/目录下没有找到libltdl.so.3文件,把/usr/local/lib/libltdl.so.3文件链接过去就可以了
ln -s /usr/local/lib/libltdl.so.3 /usr/lib/libltdl.so.3
做个链接用,查看依赖
[root@localhost mcrypt]# ldd /usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
linux-gate.so.1 => (0xb7f2d000)
libmcrypt.so.4 => /usr/local/libmcrypt/lib/libmcrypt.so.4 (0xb7ef3000)
libltdl.so.3 => /usr/lib/libltdl.so.3 (0xb7ee6000)
libc.so.6 => /lib/libc.so.6 (0xb7d8d000)
libdl.so.2 => /lib/libdl.so.2 (0xb7d88000)
/lib/ld-linux.so.2 (0x0011f000)
OK,已经找到。
php -m 查看已经没有警告提示,mcrypt也已经出来,重启apache,确定mcrypt扩展成功。
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so' - libltdl.so.3: cannot open shared object file: No such file or directory in Unknown on line 0
没有找到libltdl.so.3文件,应该是mcrypt扩展依赖的文件没有,用ldd查看依赖关系,果然是缺少了libltdl.so.3文件,
[root@localhost mcrypt]# ldd /usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
linux-gate.so.1 => (0xb7f09000)
libmcrypt.so.4 => /usr/local/libmcrypt/lib/libmcrypt.so.4 (0xb7ecf000)
libltdl.so.3 => not found
libc.so.6 => /lib/libc.so.6 (0xb7d6f000)
/lib/ld-linux.so.2 (0x0011f000)
网上找了一下资料,是由于安装目录结构的原因引起在/usr/lib/目录下没有找到libltdl.so.3文件,把/usr/local/lib/libltdl.so.3文件链接过去就可以了
ln -s /usr/local/lib/libltdl.so.3 /usr/lib/libltdl.so.3
做个链接用,查看依赖
[root@localhost mcrypt]# ldd /usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
linux-gate.so.1 => (0xb7f2d000)
libmcrypt.so.4 => /usr/local/libmcrypt/lib/libmcrypt.so.4 (0xb7ef3000)
libltdl.so.3 => /usr/lib/libltdl.so.3 (0xb7ee6000)
libc.so.6 => /lib/libc.so.6 (0xb7d8d000)
libdl.so.2 => /lib/libdl.so.2 (0xb7d88000)
/lib/ld-linux.so.2 (0x0011f000)
OK,已经找到。
php -m 查看已经没有警告提示,mcrypt也已经出来,重启apache,确定mcrypt扩展成功。