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-54 查找排除当前最大、最小salary之后的员工的平均工资avg_salary。

    题目描述 查找排除当前最大.最小salary之后的员工的平均工资avg_salary.CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL,`sala ...

  2. 由于SVN导致桌面图标都带有?标记

    在桌面创建一个记事本文件,然后吧这句话复制进去 for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.sv ...

  3. NLog使用整理

    NLog使用中碰到的问题整理 1,日志写mysql数据库报错, 原因: 在sql语句中使用了mysql的函数now() 导致插入失败, 解决办法: 使用参数代替now(). 在nlog配置文件中设置  ...

  4. hibernate学习以及文件以及注释

    <?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hib ...

  5. bll

    string str = ConfigurationManager.AppSettings["DBName"].ToString(); public Studal ss() { A ...

  6. jenkins部署安装

    http://www.cnblogs.com/lzcys8868/p/6286727.html

  7. Vue框架是什么,有什么特点,怎么用

    一.Vue基本介绍 1.vue是渐进式的JavaScript框架 2.作者:尤雨溪(一位华裔前Google工程师) 3.作用:动态构建用户界面 二:Vue的特点 1.遵循MVVM模式(m->mo ...

  8. Angular 2/4/5+ 重复点击菜单刷新界面

    记一下,网上没找到方法 自己搞了好久  通过跳转到别的界面在跳回来的方式进行实现             //再次点击刷新界面       if (this.router.url == item.ur ...

  9. [转载] Fiddler为所欲为第三篇 封包逆向必备知识[三]

    导语: 小A同学:会抓包有什么好学习的,不就用一个工具设置个wifi代{过}{滤}理就OK了嘛,还不是很多做不了.不如学习安卓逆向.didi科学家:不好意思,抓包可以为所欲为. 其实学习抓包,完完全全 ...

  10. mysql navcate longblob 查询结果导出倒入

    由于之前项目为了查询方便,且不受权限控制.所以把image储存在了数据库.但是也遇到了很多瓶颈问题. 1,丢图从日志上查询获知,丢图95%以上是由于mysql的timeout时间失效引起的.(由于另一 ...