FastDFS分布式文件系统PHP扩展安装

注意配置

  1. tar xvzf FastDFS_v1.22.tar.gz
  2. cd FastDFS
  3. ./make.sh
  4. ./make.sh install
  5. cd php_client
  6. phpize
  7. ./configure –prefix=/path/php-config
  8. make
  9. make install
  10. vim /etc/php.ini
  11. [FastDFS]
    extension = fastdfs_client.so
    fastdfs_client.base_path = /tmp
    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 = false
    fastdfs_client.connection_pool_max_idle_time = 3600

mysqlnd插件mysqlnd_ms的介绍

http://www.laruence.com/2011/10/05/2192.html

从PHP5.3开始, MySQL team专为PHP开发的MySQL连接库mysqlnd(MySQL native driver for PHP)终于和PHP一起发布了. mysqlnd的主要目的是为了解决长久以来mysql和php的license的问题. 它将作为PHP的源代码的一部分和PHP一起发布.

今天, 我要为大家介绍一个mysqlnd的插件:mysqlnd_ms, 这个插件是由mysqlnd的开发者Andrey Hristov,Ulf Wendeljohannes一起开发的, 目前发布在PECL: mysqlnd_ms

在这个扩展的介绍页面我们可以看到它的功能描述:

The replication and load balancing plugin is a plugin for the mysqlnd library. It can be used with PHP MySQL extensions (ext/mysql, ext/mysqli, PDO_MySQL). if they are compiled to use mysqlnd. The plugin inspects queries to do read-write splitting. Read-only queries are send to configured MySQL replication slave servers all other queries are redirected to the MySQL replication master server. Very little, if any, application changes required, dependent on the usage scenario required.

这个扩展, 主要实现了, 连接保持和切换, 负载均衡和读写分离等, 也就是说, 这个扩展会去分别PHP发给MySQL的query, 如果是”读”的query, 就会把query发送给从库(配置中指明), 并且支持负载均衡; 而如果是”写”的query, 就会把query发送给主库.

不过这个扩展需要搭配mysqlnd一起使用(从PHP5.4 beta1开始, 我们已经把mysqlnd作为mysql, mysqli, pdo的默认链接目标, 当然, 你也可以通过–with-mysql=***来制定你想要链接到libmysql).

这个扩展使用的方法也很简单, 首先在php.ini中定义配置:

  1. mysqlnd_ms.enable=1
  2. mysqlnd_ms.ini_file=/path/to/mysqlnd_ms_plugin.ini

之后, 在你指明的mysqlnd_ms_plugin.ini中配置好MySQL的主从库就好了:

  1. [myapp]
  2. master[]=localhost:/tmp/mysql.sock
  3. slave[]=192.168.2.27:3306

博文发出以后, Ulf提醒我, 从1.1.0开始, 配置文件改为JSON格式:

Ulf_Wendel: @laruence >Thx for the blog. Please note, mysqlnd_ms config format was changed in 1.1.0. Now JSON based

所以新的配置应该类似于如下格式:

  1. {
  2.     “myapp”: {
  3.         “master”: {
  4.             “master_0″: {
  5.                 “host”: “localhost”,
  6.                 “socket”: “\/tmp\/mysql.sock”
  7.             }
  8.         },
  9.         “slave”: {
  10.             “slave_0″: {
  11.                 “host”: “192.168.2.27”,
  12.                 “port”: “3306”
  13.             }
  14.         }
  15.     }
  16. }

链接方式修改如下:

  1. <?php
  2. /* Load balanced following “myapp” section rules from the plugins config file */
  3. $mysqli = new mysqli(“myapp”, “username”, “password”, “database”);
  4. $pdo = new PDO(‘mysql:host=myapp;dbname=database’, ‘username’, ‘password’);
  5. $mysql = mysql_connect(“myapp”, “username”, “password”);
  6. ?>

然后就和你之前一样的来开发了.

如果希望获得更多信息, 可以参看: http://php.net/mysqlnd_ms

2013 PHP框架综合对比排名(个人分析)

框架   选择的理由 不选择的理由 性能 特别优势 国内广泛性 学习成本
YII 功能强大,适合中大型项
AR处理表关系相比Symfony2简单
开发效率较高,很多内置功能
用户访问角色控制
正则方式路由不直观,修改麻烦 2 缓存处理多种组合可选
数据库AR模式
过滤验证功能丰富
一般
ZendFramework 官方框架,代码规范完善,适合中大型项目
拥护者多,很多优秀开源项目基于Zend规范
View层处理不强 3 自定义框架结构
方便组合其他框架使用
较多
Codeigniter 基础功能,适合小型项目,简洁 Controller 结构不适合自定义
URL自定义不灵活
view层处理不太方便,无模板引擎需组合
CURD操作方式和安全自己控制
1 主要优势就是轻量级学习入门快。
类似可以考虑其他
更快速都框架比如:YAF
最多 很低
Symfony2 功能强大,适合大型项目
应变能力强,配置管理超强大,
号称php唯一能跟JAVA框架相提并论的
系统管理后台帐号体系权限控制配置简单方便
多个独立开源系统组合,symfony,doctine,
twig,每一个都很专注,
并且国外非常多的开源bundle功能块
ORM关系配置手动处理复杂
调试要注意缓存
4 超强自定义路由,任何action可自定义
view layout视图层处理很方便,
都可以写入数据库中使用
权限管理方便,有一套权限系统
方便其他工具组合
数据库doctine ORM模式,多种可选
ymf,xml,php等多种方式配置强大
自带调试工具
极少 很高
其他个人观点 不建议使用国内的开源框架 代码不严谨问题多, 以上是个人总结,不一定准确,
各个框架了解不全面,大概参考