![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
文章平均质量分 70
云端Sky
云端
展开
-
reids与fastcgi_finish_request使用示例
伪代码:<?php$watchKey = $redis->get("watchKey");$total = 100; //数量if($watchKey < $total){ $redis->watch("watchKey"); $redis->multi(); //插入数据 $redis->hSet("watchList","user_id_".$原创 2016-01-13 10:53:47 · 533 阅读 · 0 评论 -
fastcgi_finish_request
fastcgi_finish_request: 此函数冲刷(flush)所有响应的数据给客户端并结束请求。 这使得客户端结束连接后,需要大量时间运行的任务能够继续运行。 echo '上传图片成功!'; file_put_contents('test.log', date('Y-m-d H:i:s') . " 图片上传\n", FILE_A原创 2015-12-18 16:13:36 · 715 阅读 · 0 评论 -
PHP后期静态绑定测试
后期静态绑定(PHP手册)自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类。准确说,后期静态绑定工作原理是存储了在上一个“非转发调用”(non-forwarding call)的类名。当进行静态方法调用时,该类名即为明确指定的那个(通常在 :: 运算符左侧部分);当进行非静态方法调用时,即为该对象所属的类。所谓的“转发调用”(for原创 2015-12-31 13:37:50 · 491 阅读 · 0 评论 -
PHP内存泄漏检测方法
一 PHP内置内存泄漏探测:PHP本身有自己的内存管理,在编译时,增加编译选项--enable-debug 以及相应扩展编译时加上 ./configure --enable-debug,这样编译后,使用命令行执行php test.php 如果有内存泄漏则会往 标准错误输出 打印错误信息。注意:这个方法只能检测到使用了Zend内存管理的情况,对于直接使用malloc/free来申请内原创 2015-12-28 17:41:41 · 4039 阅读 · 0 评论 -
关于php内核中 __builtin_expect 的解释
Zend/zend_portability.hZend/zend_portability.h#if PHP_HAVE_BUILTIN_EXPECT# define EXPECTED(condition) __builtin_expect(!!(condition), 1)# define UNEXPECTED(condition) __builtin_expect(!!(condit原创 2015-11-19 11:57:35 · 903 阅读 · 0 评论 -
柔性数组 extern "C"
C 柔性数组成员(flexible array member): C99中,结构中的最后一个元素允许是未知大小的数组,这叫柔性数组成员,但结构中的柔性数组成员前面必须至少一个其他成员。柔性数组成员允许结构中包含一个大小可变的数组。sizeof返回的这种结构大小不包括柔性数组的内存。包含柔性数组成员的结构用malloc ()函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔原创 2015-11-24 16:52:13 · 484 阅读 · 0 评论 -
扩展实现php继承
php代码:<?php interface i_myinterface { public function hello(); } class parent_class implements i_myinterface { public function hello() { echo "Good Morning!\n"; } } final class m原创 2015-11-20 18:00:05 · 764 阅读 · 0 评论 -
mysql 事物小测试
$goodsModel = M('mall.Goods'); $usermodel = M('user.User'); $shopModel = M('mall.Shop'); try { //事物不能跨库 有一个model使用事物则必须都使用事物 同库下一个事物即可 中途修改的值立即生效 出现异常则roll原创 2015-09-25 11:41:34 · 599 阅读 · 0 评论 -
mysql分表操作
$pdo = YDLib::getPDO('db_user_w'); $pdo->beginTransaction(); try { for ($i = 0; $i < 256; $i++) { $pre = sprintf('%02x', $i % 256);原创 2015-11-06 18:12:49 · 410 阅读 · 0 评论 -
PHP扩展小结
线程安全宏定义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转载 2015-12-29 18:05:16 · 1955 阅读 · 0 评论 -
centos下LNMP搭建
1.准备php函数的rpm包yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bz原创 2015-03-06 11:40:01 · 636 阅读 · 0 评论 -
PHP设计模式 三 (适配器 代理模式 数据映射)
适配器模式一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。也就是说,将不同的数据接口封装成统一的API数据库适配器示例:vim IDatabase.php<?phpnamespace Components\DatabaseAdapter;/** * 适配器模式 接口 * @author YUNDUAN *原创 2015-05-06 18:01:13 · 557 阅读 · 0 评论 -
LNMP centos6.7+nginx1.9.12+mysql5.7.11+php5.6.13+PHP各项扩展安装 以及openresty nginx+lua环境
### 依 赖 ###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原创 2016-10-14 20:07:55 · 2091 阅读 · 0 评论 -
PHP stream相关协议及上下文选项和参数归纳
支持的协议和封装协议PHP 带有很多内置 URL 风格的封装协议,可用于类似 fopen()、 copy()、 file_exists() 和 filesize() 的文件系统函数。 除了这些封装协议,还能通过 stream_wrapper_register() 来注册自定义的封装协议。Note: 用于描述一个封装协议的 URL 语法仅支持 scheme://... 的语法。原创 2015-04-07 16:16:26 · 1846 阅读 · 0 评论 -
安装 XHGui对 PHP 应用进行性能诊断
Profiling是一项用来观察程序性能的技术,非常适用于发现程序的瓶颈或者紧张的资源。Profiling能够深入程序的内部,展现request处理过程中每一部分代码的性能;同时,也可以确定有问题的请求(request);对于有问题的请求,我们还可以确定性能问题发生在请求内部的位置。对于PHP,我们有多种Profiling工具,本文主要集中在——XHGui,一款非常优秀的工具。XHGui构建在XH原创 2015-11-10 10:44:59 · 2095 阅读 · 0 评论 -
phpRedis操作整理
PhpRedis:原创 2015-01-29 18:26:21 · 6765 阅读 · 0 评论 -
php设计模式 一 (命名空间 类自动载入 PSR标准)
命名空间可以将 PHP 命名空间与文件系统作一个简单的类比。在文件系统中访问一个文件有三种方式:1 相对文件名形式如foo.txt。它会被解析为 currentdirectory/foo.txt,其中 currentdirectory 表示当前目录。因此如果当前目录是 /home/foo,则该文件名被解析为/home/foo/foo.txt。2 相对路径名形式如subdirectory原创 2015-05-05 11:53:55 · 1072 阅读 · 0 评论 -
redis lua 排它锁 公平信号量实践
PHP代码: private $lockName = "lock:redis_lock_name"; private $acquireTimeOut = 3;//3秒内没有获得锁 返回false private $lockTimeOut = 3;//锁过期时间 /** * 原版获得锁 * redis lock */原创 2016-05-22 22:43:02 · 1591 阅读 · 1 评论 -
PHP设计模式 五 (观察者 策略 装饰器模式)
代理模式在客户端和实体之间建立一个代理对象,客户端对实体的操作全部委派给代理对象,隐藏实体具体实现细节。Proxy还可以与业务代码分离,部署到另外的服务器,业务代码中通过RPC来委派任务。代理Proxy.php:<?phpnamespace Components\Proxy;class Proxy implements IUserProxy { fun原创 2015-06-20 17:53:53 · 893 阅读 · 0 评论 -
php设计模式 四 (原型模式 迭代器模式)
观察者模式观察者模式(有时又被称为发布-订阅Subscribe>模式、模型-视图View>模式、源-收听者Listener>模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。当一个对象的状态发生改变时,依赖他的对象全部会接到通知,原创 2015-06-20 16:52:45 · 458 阅读 · 0 评论 -
PHP session 存储方式
file :session.save_handler = filessession.save_path = "/tmp"session文件同步memcache:session.save_handler = memcachesession.save_path = "tcp://127.0.0.1:11211,tcp://Mem服务器2:端口号..."使用多原创 2015-08-20 11:17:57 · 2417 阅读 · 0 评论 -
PHP输出http状态码以及常用状态码
header("HTTP/1.1 403 Forbidden");echo <<<sql Error 404 Not Found Not Found That’s an error. The requested URL was not found on thi原创 2015-07-29 19:17:25 · 10765 阅读 · 1 评论 -
Memcache学习笔记
1.安装memcache下载地址:http://memcached.org/downloads安装时提示没有libevent则还需安装libevent下载地址:http://libevent.org/# tar zxvf libevent.tar.gz# cd libevent-1.2# ./configure --prefix=/usr# make# make insta原创 2015-02-11 16:36:28 · 340 阅读 · 0 评论 -
基于Yii的PDO工具类以及Yii的常用操作
工具类:<?php/** * webservice 公共数据库类 * @author Xcreative-php1 */final class YD_MysqlUtil { /** * $rowCount=$command->execute(); // 执行无查询 SQL $dataReader=$command->query(); // 执行一个 SQL 查原创 2014-11-13 17:30:13 · 704 阅读 · 0 评论 -
php 安装 redis 扩展
# /usr/local/php/bin/phpize# ./configure --with-php-config=/usr/local/php/bin/php-config# make && make install# vi /usr/local/php/lib/php.iniextension=redis.so原创 2014-12-18 17:51:11 · 413 阅读 · 0 评论 -
Mongo:笔记六(php实例)
安装扩展:wget http://pecl.php.net/get/mongo-1.2.6.tgztar -zxf mongo-1.2.6.tgzcd mongo-1.2.6/usr/local/php/bin/phpize./configure--with-php-config=/usr/local/php/bin/php-config--with-php-config这原创 2015-01-28 19:59:49 · 1312 阅读 · 0 评论 -
c编写php扩展简单示例
1 生成框架./ext_skel --extname=PHPTool2 x原创 2014-11-25 16:39:22 · 360 阅读 · 0 评论 -
smarty 逻辑判断及foreach
eq equal : 相等neq not equal:不等于gt greater than:大于lt less than:小于lte转载 2014-11-13 16:05:34 · 1174 阅读 · 0 评论 -
php时间处理
php时间处理 使用strtotime 配合 date转载 2014-11-13 15:52:17 · 455 阅读 · 0 评论 -
php服务器变量 $_SERVER(常用)
服务器变量 $_SERVER 详解:1、$_SESSION['PHP_SELF'] -- 获取当前正在执行脚本的文件名2、$_SERVER['SERVER_PROTOCOL'] -- 请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。3、$_SERVER['REQUEST_TIME'] -- 请求开始时的时间戳。从 PHP 5.1.0 起有效。和time函数效果一转载 2014-11-13 16:03:29 · 393 阅读 · 0 评论 -
centos LAMP配置
Lamp环境编译:1、安装编译工具gcc、gcc-c++、make注意解决依赖关系,推荐使用yum安装,若不能联网可使用安装光盘做为yum源1)编辑yum配置文件:Mount /dev/cdrom /mediavi /etc/yum.repos.d/CentOS-Media.repo[c5-media]name=CentOS-$releasever - Me原创 2015-03-16 14:48:25 · 504 阅读 · 0 评论 -
微信支付配置
一:配置支付授权目录二:获得开发所需数据三:微信支付对接四:回调处理原创 2014-12-22 18:18:00 · 4182 阅读 · 1 评论 -
php curl 整理
安装:cp -r /usr/src/php-devel/extensions/curl /tmp/curl cd /tmp/curl phpize ./configure make install echo "extension = curl.so" > /etc/php/90_curl.ini 基本使用步骤:// create curl resource $ch =原创 2015-04-11 11:33:29 · 861 阅读 · 0 评论 -
YII 用户登录 借鉴ecshop salt思路
UserIdentity.php<?php/** * UserIdentity represents the data needed to identity a user. * It contains the authentication method that checks if the provided * data can identity the user. */cl原创 2015-07-08 11:28:38 · 821 阅读 · 0 评论 -
JS ajax 后台交互
/***************************************************后台交互**************************************************//** * 状态切换 * @param {Object} obj * @param {Object} table * @param {Object} fieldAndValu原创 2015-06-26 21:50:20 · 470 阅读 · 0 评论 -
关于pdo为何自动转换类型为string的问题
按张网上的做法 给pdo添加两个参数 PDO::ATTR_STRINGIFY_FETCHES和PDO::ATTR_EMULATE_PREPARES(都设为FALSE) PDO::ATTR_STRINGIFY_FETCHES = 表示提取的时候将数值转换为字符串 PDO::ATTR_EMULATE_PREPARES = 启用或禁用预处理语句的模拟。 有些驱动不支持或有限度地支持本地预原创 2015-06-23 12:46:31 · 5006 阅读 · 0 评论 -
PHP设计模式 二 (单例 工厂 注册)
单例模式单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。数据库单例示例:<?phpnamespace Components;class Database { p原创 2015-05-06 15:22:10 · 605 阅读 · 0 评论 -
sphinx与coreseek
Sphinx1 下载sphinx http://sphinxsearch.com/2 编译安装tar -zxvf sphinx.tar.gz./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql make && make installSphinx中重要的三个命令,(Sphinx安原创 2015-05-04 09:36:24 · 953 阅读 · 0 评论 -
正则表达式整理
常用的元字符. 匹配除换行符以外的任意字符\w 匹配字母或数字或下划线或汉字\s 匹配任意的空白符\d 匹配数字\b 匹配单词的开始或结束^ 匹配字符串的开始$ 匹配字符串的结束字符转义 "\"使用\转义。查找\本身,用\\例如:xxx\.com匹配xx.com重复 "{}"* 重复原创 2015-03-16 15:40:06 · 561 阅读 · 0 评论 -
php Curl简单封装
<?php/** * 未详细测试 * @param unknown $url * @param unknown $data = array('name' => 'Foo', 'file' => '@/home/user/test.png'); * @param unknown $config * config: * method * timeout * isCoo原创 2015-04-17 15:45:18 · 400 阅读 · 0 评论