PHP安装FastDFS扩展,测试上传文件

PHP所在服务器需先安装FastDFS。FastDFS安装方法如上,无需启动服务。

安装FastDFS扩展

# cd /usr/local/FastDFS/php_client/

# ls /opt/lampp/bin/phpize
/opt/lampp/bin/phpize

# /opt/lampp/bin/phpize
Configuring for:
PHP Api Version:         20121113
Zend Module Api No:      20121212
Zend Extension Api No:   220121212

# ./configure --with-php-config=/opt/lampp/bin/php-config

# vi Makefile
FASTDFS_CLIENT_SHARED_LIBADD = -Wl,-rpath,/usr/local/FastDFS/lib -L/usr/local/FastDFS/lib -lfdfsclient -Wl,-rpath,/usr/local/FastDFS/lib -L/usr/local/FastDFS/lib -lfastcommon
INCLUDES = -I/opt/lampp/include/php -I/opt/lampp/include/php/main -I/opt/lampp/include/php/TSRM -I/opt/lampp/include/php/Zend -I/opt/lampp/include/php/ext -I/opt/lampp/include/php/ext/date/lib -I/usr/local/FastDFS/include/fastcommon -I/usr/local/FastDFS/include/fastdfs

#make
#make install
Installing shared extensions:     /opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/

PHP配置FastDFS扩展

PHP配置文件尾部追加FastDFS配置:

# vi /opt/lampp/etc/php.ini
[FastDFS]
extension = /opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/fastdfs_client.so

; the base path
fastdfs_client.base_path = /tmp

; connect timeout in seconds
; default value is 30s
fastdfs_client.connect_timeout = 2

; network timeout in seconds
; default value is 30s
fastdfs_client.network_timeout = 60

; standard log level as syslog, case insensitive, value list:
;;; emerg for emergency
;;; alert
;;; crit for critical
;;; error
;;; warn for warning
;;; notice
;;; info
;;; debug
fastdfs_client.log_level = info

; set the log filename, such as /usr/local/fastdfs/logs/fastdfs_client.log
; empty for output to stderr
fastdfs_client.log_filename =

; secret key to generate anti-steal token
; this parameter must be set when http.anti_steal.check_token set to true
; the length of the secret key should not exceed 128 bytes
fastdfs_client.http.anti_steal_secret_key =

; FastDFS cluster count, default value is 1
fastdfs_client.tracker_group_count = 1

; config file of FastDFS cluster ;, based 0
; must include absolute path, such as fastdfs_client.tracker_group0
; the config file is same as conf/client.conf
fastdfs_client.tracker_group0 = /etc/fdfs/client.conf

; if use connection pool
; default value is false
; since V4.05
fastdfs_client.use_connection_pool = false

; connections whose the idle time exceeds this time will be closed
; unit: second
; default value is 3600
; since V4.05
fastdfs_client.connection_pool_max_idle_time = 3600

# vi /etc/fdfs/client.conf 
base_path=/home/data/fastdfs
tracker_server=192.168.3.75:22122
tracker_server=192.168.3.74:22122

PHP文件上传测试

# ls /usr/local/FastDFS/php_client/
acinclude.m4    config.h.in    configure                   fastdfs_client.h    fastdfs_test_slave.php  Makefile.fragments  README
aclocal.m4      config.log     configure.in                fastdfs_client.ini  include                 Makefile.global     run-tests.php
autom4te.cache  config.m4      fastdfs_appender_test1.php  fastdfs_client.la   install-sh              Makefile.objects
build           config.nice    fastdfs_appender_test.php   fastdfs_client.lo   libtool                 missing
config.guess    config.status  fastdfs_callback_test.php   fastdfs_test1.php   ltmain.sh               mkinstalldirs
config.h        config.sub     fastdfs_client.c            fastdfs_test.php    Makefile                modules

里面的fastdfs_test.php、fastdfs_test1.php等文件可以用来测试!