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,里面有详细介绍!此篇博文过程中如果有什么不对的地方,还请朋友们们指正,大家一起进步!

https://www.cnblogs.com/jkko123/p/6294578.html
php扩展也需要依赖于FastDFS一些库文件,所以请先安装FastDFS,具体请看我之前的文章。

 
一、安装目录
1
2
3
4
php安装目录
/data/nmp/php
FastDFS源码目录
/data/wwwroot/FastDFS
二、安装php扩展
1、进入php_client目录
1
> cd /data/wwwroot/FastDFS/php_client/

2、运行phpize

1
> /data/nmp/php/bin/phpize

3、configure

1
./configure --with-php-config=/data/nmp/php/bin/php-config

4、make && make install

1
> make && make install

5、如果出现如下信息则生成成功。

1
Installing shared extensions: /data/nmp/php/lib/php/extensions/no-debug-non-zts-20151012/

6、修改php.ini

1
> vi /data/nmp/php/lib/php.ini

打开php_client/fastdfs_client.ini文件,并在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
路径根据自已的情况进行设置。
7、重启php-fpm,查看phpinfo();
如果出现fastdfs_client等信息,说明安装成功。
 
8、我们创建文件,并通过php上传文件
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);

访问该test.php输出如下内容,说明上传成功。

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

(*注意,看你的storage的配置,是否要加上组名,不然会显示404)

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

php使用fastdfs的更多相关文章

  1. 【架构设计】分布式文件系统 FastDFS的原理和安装使用

    本文地址 分享提纲: 1.概述 2. 原理 3. 安装 4. 使用 5. 参考文档 1. 概述 1.1)[常见文件系统] Google了一下,流行的开源分布式文件系统有很多,介绍如下:   -- mo ...

  2. FASTDFS调研报告(V1.0)

    之前的文章,现在放出来,以供参阅. 一.fastdfs简介 FastDFS是一个轻量级的开源分布式文件系统 FastDFS主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡 Fas ...

  3. 网站文件系统发展&&分布式文件系统fastDFS

    网站文件系统发展 1.单机时代的图片服务器架构 初创时期由于时间紧迫,开发人员水平也很有限等原因.所以通常就直接在website文件所在的目录下,建立1个upload子目录,用于保存用户上传的图片文件 ...

  4. FastDFS 安装及使用

    FastDFS 安装及使用 2012-11-17 13:10:31|  分类: Linux|举报|字号 订阅     Google了一下,流行的开源分布式文件系统有很多,介绍如下:   mogileF ...

  5. 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

    少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...

  6. 分布式文件系统 - FastDFS 简单了解一下

    别问我在哪里 也许我早已不是我自己,别问我在哪里,我一直在这里. 突然不知道说些什么了... 初识 FastDFS 记得那是我刚毕业后进入的第一家公司,一个技术小白进入到当时的项目组后,在开发中上传用 ...

  7. 分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试

    也不说废话,直接干 上一篇 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署 中安装了 FastDFS 后,并配置启动了 Tracker 和 Storage 服务,已经可以上传文件 ...

  8. centos 系统下安装FastDFS+nginx+fastdfs-nginx-module安装配置

    前言: 以前的项目上传的文件都是保存到本地或者是局域网内的共享文件夹下,由于数据量,服务器的负载均衡(分机的某些图片无法访问的问题处理)等因素的情况下,就想到用fastdfs来文件管理,花了几天时间硬 ...

  9. FastDFS+Nginx(单点部署)事例

    FastDFS是由淘宝的余庆先生所开发,是一个轻量级.高性能的开源分布式文件系统,用纯C语言开发,包括文件存储.文件同步.文件访问(上传.下载).存取负载均衡.在线扩容.相同内容只存储一份等功能,适合 ...

  10. 在虚拟机中配置FastDFS+Nginx模块

    先上部署图 提示一下, ip 192.168.72.138 上面部署了两个group, 分别为 group1和g2. 另外, 同组之内的 port 要保持一致. 一.安装准备 1. #每台机器都添加两 ...

随机推荐

  1. SQL-58 获取有奖金的员工相关信息。

    题目描述 获取有奖金的员工相关信息.CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`fi ...

  2. oracle入门之对表数据查询(一)

    此文中用到的表是Scott用户中自带的三张表: 基本select语句 基本语法: select [distinct] *|{columnl,column2,column3..} from table ...

  3. H5页面访问java后台进行登录拦截

    1.未登录状态下进行拦截,回到登录页面 function judgeLogin(currentPage) { var judge=false; var storage=window.localStor ...

  4. cafee编译错误几个总结

    1.CXX/LD -o .build_release/examples/siamese/convert_mnist_siamese_data.bin .build_release/lib/libcaf ...

  5. day 21 内存管理,正则

    一.内存管理 1.垃圾回收 不能被程序访问到的数据,就称之为垃圾. 2.引用计数 引用计数是用来记录值得内存地址被记录的次数 每一次对值地址的引用都可以使得该值的引用计数+1 每一次对值地址的释放都可 ...

  6. 胜利大逃亡,bfs,广度优先搜索

    题目描述: Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会.魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius ...

  7. js date setInterval 时间 时钟 getFullYear ,JavaScript

    js 创建时钟: 1.参考链接:  注意 getYear  (两位 或者 四位) 改成 getFullYear js操作时间 2.实例: html: <span class="glyp ...

  8. 马凯军201771010116《面向对象与程序设计Java》第十周学习总结

    一.理论知识学习部分 泛型类的约束与局限性: 不能用基本类型实例化类型参数 运行时类型查询只适用于原始类型 不能抛出也不能捕获泛型类实例 参数化类型的数组不合法 不能实例化类型变量 泛型类的 ...

  9. svg 高宽随父元素自适应

    <html lang="en"> <head> <meta charset="UTF-8"> <meta name=& ...

  10. python基础一之while循环随机猜数字

    # Author:"Mamba" import random setNum = random.randint(1,10) #print(setNum) count = 0 whil ...