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.
<?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.
?>
執行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


