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. Android中的几个基本常用控件

    Android 中常用的几大UI控件 1. TextView : 用于在界面中显示一段文本信息 <TextView android:id="@+id/text_view" / ...

  2. python 保留字符

    False 假的 None 无 True 真的 and 和 as作为 assert 断言 break 打破 class 种类 continue 继续 def del 删除 elif 否则如果 else ...

  3. windows2012的服务器远程桌面提示内部错误的问题解决方法

    一.问题表象 我们在OpenStack安装了windows server2012r2版本的虚拟机,在本地通过远程桌面连接时,输入账号密码后,提示连接断开或者内部错误的问题 二.解决办法 1)windo ...

  4. react native获取组件高度,宽 度等

    import React,{Component} from 'react'import { View, Text, Image, StyleSheet, TouchableHighlight, Tou ...

  5. Spring Boot 整合JDBCTemplate

    1. 首先配置pom.xml 1.1 dbcm2 是数据源类型,表示配置dataSource的方式 1.2 spring-boot-starter-jdbc是表示让spring boot 支持jdbc ...

  6. react中Redux应用框架学习

    1. 最普通的react-redux 2.应用context的傻瓜组件和聪明组件的redux框架  3. 精简版react-redux,利用react-redux模块的redux(推荐)  4.多个模 ...

  7. python del关键字的用法

    del Keyword 注意del是python关键字,就像def.and.or一样.它不是字典.列表的方法,但是可以用来删除字典.列表的元素.比如: del list_item[4] del dic ...

  8. Java的URL类(一)

    转:https://www.cnblogs.com/blackiesong/p/6182038.html Java的URL类(一) Java的网络类可以让你通过网络或者远程连接来实现应用.而且,这个平 ...

  9. 3.7 unittest之断言

    3.7 unittest之断言 前言在测试用例中,执行完测试用例后,最后一步是判断测试结果是pass还是fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert).用unitte ...

  10. c++ complie link error 2019/2001

    1:没有将需要的文件添加到项目中,只是考到项目所在的目录了 2:没有添加 类导出 宏