Chinaunix

标题: fastdfs_client.so不能加载 [打印本页]

作者: specialwj    时间: 2009-12-30 16:58
标题: fastdfs_client.so不能加载
版主你好!
有问题需要向你请教,不知道为何,我的fastdfs_client.so始终不能加载。
我使用的php版本为php-5.2.12.tar.bz2,安装路径为/usr/local/lib下,配置文件和扩展配置文件都设置在/usr/local/lib下面.

[root@localhost ~]# /usr/local/bin/php -v
PHP Warning:  PHP Startup: Unable to load dynamic library './fastdfs_client.so' - ./fastdfs_client.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP 5.2.12 (cli) (built: Dec 30 2009 16:00:17)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

[root@localhost ~]# /usr/local/bin/php-config --extension-dir
/usr/local/lib/php/extensions/no-debug-non-zts-20060613确认这个目录下面有fastdfs_client.so文件的存在

[root@localhost bin]# /usr/local/bin/php --ini
PHP Warning:  PHP Startup: Unable to load dynamic library './fastdfs_client.so' - ./fastdfs_client.so: cannot open shared object file: No such file or directory in Unknown on line 0
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File:         /usr/local/lib/php.ini
Scan for additional .ini files in: /usr/local/lib
Additional .ini files parsed:      /usr/local/lib/fastdfs_client.ini,/usr/local/lib/php.ini

[root@localhost ~]# /usr/local/bin/php -m
PHP Warning:  PHP Startup: Unable to load dynamic library './fastdfs_client.so' - ./fastdfs_client.so: cannot open shared object file: No such file or directory in Unknown on line 0
[PHP Modules]
ctype
date
dom
filter
hash
iconv
json
libxml
pcre
PDO
pdo_sqlite
posix
Reflection
session
SimpleXML
SPL
SQLite
standard
tokenizer
xml
xmlreader
xmlwriter

[Zend Modules]

fastdfs_client.ini文件内的配置为
extension = fastdfs_client.so

fastdfs_client.tracker_group_count = 1
fastdfs_client.tracker_group1 = /usr/local/lib/client.conf

请问版主,如何操作才可以正确加载fastdfs_client.so文件,谢谢!
作者: happy_fish100    时间: 2010-01-03 12:24
标题: 回复 #1 specialwj 的帖子
php扩展库fastdfs_client.so用到了libfdfsclient.so。
请确认libfdfsclient.so的存放路径是否正确:
32位系统,在/usr/lib目录下;64位系统,在/usr/lib64目录下。
作者: specialwj    时间: 2010-01-04 11:19
标题: 回复 #2 happy_fish100 的帖子
版主,谢谢你的回复。
使用的系统是linux enterpirse 5 32bit的,按照你的提示已经确认/usr/local/lib和/usr/lib目录下都有libfdfsclient.so文件存在,但fastdfs_client.so就是加载不了。请问还有其他需要注意的地方吗?
作者: happy_fish100    时间: 2010-01-04 11:26
标题: 回复 #3 specialwj 的帖子
文件权限的问题?

你执行
ls -l /usr/local/lib/php/extensions/no-debug-non-zts-20060613/fastdfs_client.so

看看输出是什么?
作者: specialwj    时间: 2010-01-04 12:05
标题: 回复 #4 happy_fish100 的帖子
版主你好
我执行了你给出的ls命令,输出为
-rwxr-xr-x 1 root root 153666 Dec 30 16:14 /usr/local/lib/php/extensions/no-debug-non-zts-20060613/fastdfs_client.so

系统我是以root用户登录的
作者: njxuyj    时间: 2010-01-04 15:39
标题: 回复 #5 specialwj 的帖子
我也遇见类似so文件加载不到的,可以使用以下方法.

#vi/etc/ld.so.conf.d/fastdfs_client..conf

内容为:

/usr/local/lib/php/extensions/no-debug-non-zts-20060613/fastdfs_client.so


然后载入配置

#/sbin/ldconfig
作者: specialwj    时间: 2010-01-04 15:54
标题: 回复 #6 njxuyj 的帖子
njxuyj你好,谢谢你的回复
按照你给的方法,我尝试了一下,在/etc/ld.so.conf文件里面的include ld.so.conf.d/*.conf下面添加了
/usr/local/lib/php/extensions/no-debug-non-zts-20060613/fastdfs_client.so
然后执行/sbin/ldconfig,但还是不行,执行下列命令显示为
[root@localhost etc]# /usr/local/bin/php -m
PHP Warning:  PHP Startup: Unable to load dynamic library './fastdfs_client.so' - ./fastdfs_client.so: cannot open shared object file: No such file or directory in Unknown on line 0
[PHP Modules]
ctype
date
dom
filter
hash
iconv
json
libxml
pcre
PDO
pdo_sqlite
posix
Reflection
session
SimpleXML
SPL
SQLite
standard
tokenizer
xml
xmlreader
xmlwriter

[Zend Modules]
不知道还有其他推荐方法吗?谢谢!
作者: specialwj    时间: 2010-01-04 18:05
标题: 回复 #7 specialwj 的帖子
谢谢版主和njxuyj的热心回答,不能加载的问题已经找到了。
我尝试的在php.ini文件里面修改了extension_dir = "./
把他改为"extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613"就正确加载了了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2