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