php的服务器地址:10.10.1.2
fastdfs tracker地址:10.15.1.2
fastdfs storage地址:10.16.1.2
将fastdfs的源码上传到php所在服务器,进入php_client目录
01.
[root@web1 ~]
# cd /root/FastDFS/php_client
02.
[root@web1 php_client]
# /usr/local/php/bin/phpize
03.
Configuring
for
:
04.
PHP Api Version: 20090626
05.
Zend Module Api No: 20090626
06.
Zend Extension Api No: 220090626
07.
[root@web1 php_client]
# ./configure --with-php-config=/usr/local/php/bin/php-config
08.
[root@web1 php_client]
# make && make install
09.
[root@web1 php_client]
# cat fastdfs_client.ini >> /usr/local/php/etc/p
10.
pear.conf php-fpm.conf php-fpm.conf.default
11.
[root@web1 php_client]
# cat fastdfs_client.ini >> /etc/php.ini
验证模块是否被正常加
1.
[root@web1 php_client]
# /usr/local/php/bin/php -m | grep fastdfs_client
2.
fastdfs_client
#说明模块已加载 www.it165.net
3.
4.
重新加载php
5.
[root@web1 php_client]
# service php-fpm reload
修改为如下配置:
1.
tracker_server=192.168.25.204:22122
2.
http.tracker_server_port=80
3.
4.
重新加载php
5.
[root@web1 php_client]
# service php-fpm reload
然后我们写个小页面,写个php脚本上传
1.
[root@web1 ~]
# echo "php client is here." > /opt/upload.txt
2.
[root@web1 ~]
# vim test.php
3.
&
lt
;?php
4.
var_dump(function_exists('fastdfs_storage_upload_by_filename'));
5.
$ret = fastdfs_storage_upload_by_filename('/opt/upload.txt');
6.
var_dump($ret);
7.
?&
gt
;
执行php脚本
[root@web1 ~]# /usr/local/php/bin/php test.php
结果如下图所示:
我们来访问下试试;
到此为止我们关于fastdfs的完整应用就介绍到此了,希望大家都动手做一下!还有关于fastdfs php插件的使用方法和函数调用方法,可以看/root/FastDFS/php_client/README,里面有详细介绍!此篇博文过程中如果有什么不对的地方,还请朋友们们指正,大家一起进步!
1
2
3
4
|
php安装目录
/data/nmp/php
FastDFS源码目录
/data/wwwroot/FastDFS
|
1
|
> cd /data/wwwroot/FastDFS/php_client/
|
1
|
> /data/nmp/php/bin/phpize
|
1
|
./configure --with-php-config=/data/nmp/php/bin/php-config
|
1
|
> make && make install
|
1
|
Installing shared extensions: /data/nmp/php/lib/php/extensions/no-debug-non-zts-20151012/
|
1
|
> vi /data/nmp/php/lib/php.ini
|
1
2
3
4
5
6
7
8
9
10
11
12
|
[FastDFS]
extension = fastdfs_client.so
fastdfs_client.base_path = /data/storage
fastdfs_client.connect_timeout = 2
fastdfs_client.network_timeout = 60
fastdfs_client.log_level = info
fastdfs_client.log_filename =
fastdfs_client.http.anti_steal_secret_key =
fastdfs_client.tracker_group_count = 1
fastdfs_client.tracker_group0 = /etc/fdfs/client.conf
fastdfs_client.use_connection_pool = true
fastdfs_client.connection_pool_max_idle_time = 3600
|
1
2
|
>
echo
"test test test"
> test.txt
> vi test.php
|
1
2
3
|
<?php
$ret
= fastdfs_storage_upload_by_filename(
'./test.txt'
);
var_dump(
$ret
);
|
1
2
3
4
|
array
(2) {
[
"group_name"
]=> string(6)
"group1"
[
"filename"
]=> string(44)
"M00/00/00/wKgJClcQJc-AeBdeAAAADxtaRO4977.txt"
}
|
1
|
http:
//192.168.9.10:8080/group1/M00/00/00/wKgJClcQJc-AeBdeAAAADxtaRO4977.txt
|
FastDFS client php extension compiled under PHP 5.4 and PHP 7.0, Steps:
phpize
./configure
make
make install
#copy lib file to php extension directory, eg. /usr/lib/php/20060613/
cp modules/fastdfs_client.so /usr/lib/php/20060613/
#copy fastdfs_client.ini to PHP etc directory, eg. /etc/php/
cp fastdfs_client.ini /etc/php/
#modify config file fastdfs_client.ini, such as:
vi /etc/php/fastdfs_client.ini
#run fastdfs_test.php
php fastdfs_test.php