<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[云端]]></title><description><![CDATA[别只是做自己能力范围内的事]]></description><link>https://blog.csdn.net/fb408487792</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; fb408487792]]></copyright><item><title><![CDATA[nginx-lua 运行阶段]]></title><link>https://blog.csdn.net/fb408487792/article/details/53610140</link><guid>https://blog.csdn.net/fb408487792/article/details/53610140</guid><author>fb408487792</author><pubDate>Tue, 13 Dec 2016 15:27:27 +0800</pubDate><description><![CDATA[Nginx 处理请求的过程一共划分为 11 个阶段，按照执行顺序依次是{
post-read、[Nginx 读取并解析完请求头（request headers）之后就立即开始运行

server-rewrite、[server请求地址重写阶段
find-config、[配置查找阶段，用来完成当前请求与location配置块配对
rewrite、[location请求地址重写阶段，当ngx]]></description><category></category></item><item><title><![CDATA[nginx 常用配置]]></title><link>https://blog.csdn.net/fb408487792/article/details/53020126</link><guid>https://blog.csdn.net/fb408487792/article/details/53020126</guid><author>fb408487792</author><pubDate>Thu, 03 Nov 2016 11:53:59 +0800</pubDate><description><![CDATA[nginx doc:http://nginx.org/en/docs/

#定义Nginx运行的用户和用户组
user www www;

#nginx进程数，建议设置为等于CPU总核心数。
worker_processes 8;
#给每个worker进程绑定一个cpu
worker_cpu_affinity 00000001 000000010 00000100 00001000 0001000]]></description><category></category></item><item><title><![CDATA[linux 高级命令]]></title><link>https://blog.csdn.net/fb408487792/article/details/52870060</link><guid>https://blog.csdn.net/fb408487792/article/details/52870060</guid><author>fb408487792</author><pubDate>Thu, 27 Oct 2016 16:53:58 +0800</pubDate><description><![CDATA[iostat -m
Linux 2.6.32-2.0.0.8-6 (log2) 	2016Ū10Ղ20ɕ 	_x86_64_	(24 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.57    0.00    0.57    0.04    0.00   98.82

Device:]]></description><category></category></item><item><title><![CDATA[LNMP centos6.7+nginx1.9.12+mysql5.7.11+php5.6.13+PHP各项扩展安装 以及openresty nginx+lua环境]]></title><link>https://blog.csdn.net/fb408487792/article/details/52818687</link><guid>https://blog.csdn.net/fb408487792/article/details/52818687</guid><author>fb408487792</author><pubDate>Fri, 14 Oct 2016 20:07:55 +0800</pubDate><description><![CDATA[###   依 赖   ###
yum groupinstall "Development tools";
yum -y install gcc gcc-c++ cmake autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel]]></description><category></category></item><item><title><![CDATA[redis lua 排它锁 公平信号量实践]]></title><link>https://blog.csdn.net/fb408487792/article/details/51477559</link><guid>https://blog.csdn.net/fb408487792/article/details/51477559</guid><author>fb408487792</author><pubDate>Sun, 22 May 2016 22:43:02 +0800</pubDate><description><![CDATA[PHP代码：
    private $lockName = "lock:redis_lock_name";
    private $acquireTimeOut = 3;//3秒内没有获得锁 返回false
    private $lockTimeOut = 3;//锁过期时间
    
    /**
     * 原版获得锁
     * redis lock
     */
    ]]></description><category></category></item><item><title><![CDATA[reids与fastcgi_finish_request使用示例]]></title><link>https://blog.csdn.net/fb408487792/article/details/50509112</link><guid>https://blog.csdn.net/fb408487792/article/details/50509112</guid><author>fb408487792</author><pubDate>Wed, 13 Jan 2016 10:53:47 +0800</pubDate><description><![CDATA[伪代码：
<?php

$watchKey = $redis->get("watchKey");
$total = 100;   //数量
if($watchKey < $total){
    $redis->watch("watchKey");
    $redis->multi();

    //插入数据
    $redis->hSet("watchList","user_id_".$]]></description><category></category></item><item><title><![CDATA[ZendStudio 安装python IDE 开发插件]]></title><link>https://blog.csdn.net/fb408487792/article/details/50442363</link><guid>https://blog.csdn.net/fb408487792/article/details/50442363</guid><author>fb408487792</author><pubDate>Thu, 31 Dec 2015 16:22:20 +0800</pubDate><description><![CDATA[开发PHP C/C++ Python 又不想安装多个ide 所以选择了zendstudio， 安装CDT移步http://blog.csdn.net/fb408487792/article/details/50441598

1. 打开Zend Studio选择Help菜单->Install New Software... 输入http://pydev.org/updates（或http://]]></description><category></category></item><item><title><![CDATA[开发PHP扩展CDT插件安装]]></title><link>https://blog.csdn.net/fb408487792/article/details/50441598</link><guid>https://blog.csdn.net/fb408487792/article/details/50441598</guid><author>fb408487792</author><pubDate>Thu, 31 Dec 2015 15:57:43 +0800</pubDate><description><![CDATA[一：
安装zendStudio



二：
安装CDT插件
1. 查看zendstudio使用的是那个eclips版本

1. 启动Eclipse，点击菜单栏上的"Help -> Install New Software..."
2. 打开 Install对话框，点击“Add...”按钮，加了下面的软件源地址(对应版本)


MARS4.5 - http://downlo]]></description><category></category></item><item><title><![CDATA[PHP后期静态绑定测试]]></title><link>https://blog.csdn.net/fb408487792/article/details/50441109</link><guid>https://blog.csdn.net/fb408487792/article/details/50441109</guid><author>fb408487792</author><pubDate>Thu, 31 Dec 2015 13:37:50 +0800</pubDate><description><![CDATA[后期静态绑定(PHP手册)
自 PHP 5.3.0 起，PHP 增加了一个叫做后期静态绑定的功能，用于在继承范围内引用静态调用的类。

准确说，后期静态绑定工作原理是存储了在上一个“非转发调用”（non-forwarding call）的类名。当进行静态方法调用时，该类名即为明确指定的那个（通常在 :: 运算符左侧部分）；当进行非静态方法调用时，即为该对象所属的类。所谓的“转发调用”（for]]></description><category></category></item><item><title><![CDATA[mysql 性能小记]]></title><link>https://blog.csdn.net/fb408487792/article/details/50428492</link><guid>https://blog.csdn.net/fb408487792/article/details/50428492</guid><author>fb408487792</author><pubDate>Tue, 29 Dec 2015 18:13:24 +0800</pubDate><description><![CDATA[数据库的索引，牺牲磁盘空间（组合索引等会占据很大的磁盘空间）

innodb_buffer_pool_size  热点数据的缓存，牺牲内存空间

innodb_flush_method      写入磁盘的机制，可以配置成缓冲写入的方式

query_cache_size         查询缓存，牺牲内存空间

thread_cache_size        数据库连接池的缓存个数，牺牲内存空]]></description><category></category></item><item><title><![CDATA[C语言 字符串操作函数]]></title><link>https://blog.csdn.net/fb408487792/article/details/50428479</link><guid>https://blog.csdn.net/fb408487792/article/details/50428479</guid><author>fb408487792</author><pubDate>Tue, 29 Dec 2015 18:11:06 +0800</pubDate><description><![CDATA[strcat
语法:
	#include 
	char *strcat( char *str1, const char *str2 );

功能：函数将字符串str2 连接到str1的末端，并返回指针str1. 例如：
printf( "Enter your name: " );
scanf( "%s", name );
title = strcat( name, " the Great" );
]]></description><category></category></item><item><title><![CDATA[PHP扩展小结]]></title><link>https://blog.csdn.net/fb408487792/article/details/50427237</link><guid>https://blog.csdn.net/fb408487792/article/details/50427237</guid><author>fb408487792</author><pubDate>Tue, 29 Dec 2015 18:05:16 +0800</pubDate><description><![CDATA[线程安全宏定义

TSRM/TSRM.h文件中有如下定义
#define TSRMLS_FETCH()			void ***tsrm_ls = (void ***) ts_resource_ex(0, NULL)
#define TSRMLS_D	void ***tsrm_ls
#define TSRMLS_DC	, TSRMLS_D
#define TSRMLS_C	tsrm_ls
#def]]></description><category></category></item><item><title><![CDATA[PHP内存泄漏检测方法]]></title><link>https://blog.csdn.net/fb408487792/article/details/50420218</link><guid>https://blog.csdn.net/fb408487792/article/details/50420218</guid><author>fb408487792</author><pubDate>Mon, 28 Dec 2015 17:41:41 +0800</pubDate><description><![CDATA[一 PHP内置内存泄漏探测：

PHP本身有自己的内存管理，在编译时，增加编译选项--enable-debug 以及相应扩展编译时加上 ./configure --enable-debug，这样编译后，使用命令行执行php test.php 如果有内存泄漏则会往 标准错误输出 打印错误信息。

注意：这个方法只能检测到使用了Zend内存管理的情况，对于直接使用malloc/free来申请内]]></description><category></category></item><item><title><![CDATA[fastcgi_finish_request]]></title><link>https://blog.csdn.net/fb408487792/article/details/50352465</link><guid>https://blog.csdn.net/fb408487792/article/details/50352465</guid><author>fb408487792</author><pubDate>Fri, 18 Dec 2015 16:13:36 +0800</pubDate><description><![CDATA[fastcgi_finish_request:
 此函数冲刷(flush)所有响应的数据给客户端并结束请求。 这使得客户端结束连接后，需要大量时间运行的任务能够继续运行。

        echo '上传图片成功！';
        
        file_put_contents('test.log', date('Y-m-d H:i:s') . " 图片上传\n", FILE_A]]></description><category></category></item><item><title><![CDATA[Mysql 锁机制整理]]></title><link>https://blog.csdn.net/fb408487792/article/details/50247735</link><guid>https://blog.csdn.net/fb408487792/article/details/50247735</guid><author>fb408487792</author><pubDate>Thu, 10 Dec 2015 15:14:01 +0800</pubDate><description><![CDATA[为了给高并发情况下的MySQL进行更好的优化，有必要了解一下MySQL查询更新时的锁表机制。


一、概述
MySQL有三种锁的级别：页级、表级、行级。
MyISAM和MEMORY存储引擎采用的是表级锁（table-level locking）；BDB存储引擎采用的是页面锁（page-level
locking），但也支持表级锁；InnoDB存储引擎既支持行级锁（row-level l]]></description><category></category></item><item><title><![CDATA[git 笔记]]></title><link>https://blog.csdn.net/fb408487792/article/details/50222455</link><guid>https://blog.csdn.net/fb408487792/article/details/50222455</guid><author>fb408487792</author><pubDate>Tue, 08 Dec 2015 18:17:02 +0800</pubDate><description><![CDATA[git 流程

安装：
1 yum -y install git*
2 源代码安装 
	make prefix=/usr/local all
	make prefix=/usr/local install

安装文档：
	make prefix=/usr/local doc info
	make prefix=/usr/local install-doc install-html install-]]></description><category></category></item><item><title><![CDATA[关于微信支付 支付宝支付价格精度问题]]></title><link>https://blog.csdn.net/fb408487792/article/details/50071425</link><guid>https://blog.csdn.net/fb408487792/article/details/50071425</guid><author>fb408487792</author><pubDate>Fri, 27 Nov 2015 18:17:27 +0800</pubDate><description><![CDATA[微信支付上遇见少一分钱的问题，但是支付宝没有此问题，查找之后，确定问题出在微信价格单位按分算，支付宝是按元计算，
因为数据库使用decimal 保留两位小数，这和支付宝一致，在微信支付时取出数据库保存的价格*100再转int ，问题就出在这里，float转int精度损失。
[root@yunduanlocal api]# php -r "var_dump((int)(18.90*100));"]]></description><category></category></item><item><title><![CDATA[C语言 extern static使用比较]]></title><link>https://blog.csdn.net/fb408487792/article/details/50015293</link><guid>https://blog.csdn.net/fb408487792/article/details/50015293</guid><author>fb408487792</author><pubDate>Tue, 24 Nov 2015 17:05:01 +0800</pubDate><description><![CDATA[extern static 申明 函数原型 或 变量：
1、  对于变量：
  static关键字：static可以用于修饰局部变量以扩展局部变量的生存期，被static关 键字修饰的局部变量的生存期为：在调用该变量所在的函数前已生成，直到程序退出才消亡，因此在调用该局部变量所在的函数后该变量仍然存在并保持最后使用的 值。虽然static关键字可以改变局部变 量的生存期，但是不能改变局部变量的]]></description><category></category></item><item><title><![CDATA[柔性数组 extern "C"]]></title><link>https://blog.csdn.net/fb408487792/article/details/50012595</link><guid>https://blog.csdn.net/fb408487792/article/details/50012595</guid><author>fb408487792</author><pubDate>Tue, 24 Nov 2015 16:52:13 +0800</pubDate><description><![CDATA[C 柔性数组成员(flexible array member)：
    C99中，结构中的最后一个元素允许是未知大小的数组，这叫柔性数组成员，但结构中的柔性数组成员前面必须至少一个其他成员。柔性数组成员允许结构中包含一个大小可变的数组。sizeof返回的这种结构大小不包括柔性数组的内存。包含柔性数组成员的结构用malloc ()函数进行内存的动态分配，并且分配的内存应该大于结构的大小，以适应柔]]></description><category></category></item><item><title><![CDATA[扩展实现php继承]]></title><link>https://blog.csdn.net/fb408487792/article/details/49950161</link><guid>https://blog.csdn.net/fb408487792/article/details/49950161</guid><author>fb408487792</author><pubDate>Fri, 20 Nov 2015 18:00:05 +0800</pubDate><description><![CDATA[php代码：
<?php
	interface i_myinterface
	{
		public function hello();
	}

	class parent_class implements i_myinterface
	{
		public function hello()
		{
			echo "Good Morning!\n";
		}
	}

	final class m]]></description><category></category></item></channel></rss>