随笔分类 - PHP
摘要:本文是参考《redis中文手册》,将示例代码用php来实现,注意php-redis与redis_cli的区别(主要是返回值类型和参数用法)。目录(使用CTRL+F快速查找命令):KeyStringHashListSet键(Key)DELKEYSRANDOMKEYTTLEXISTSMOVERENAMERENAMENXTYPEEXPIREEXPIREATOBJECTPERSISTSORT字符串(String)SETSETNXSETEXSETRANGEMSETMSETNXAPPENDGETMGETGETRANGEGETSETSTRLENINCRINCRBYDECRDECRBYSETBITGETBIT
阅读全文
摘要:UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分。UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Micros
阅读全文
摘要:1.文件方式缓存哈希子目录缓存2.APCAPC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”。它为我们提供了缓存和优化PHP的中间代码的框架。 APC的缓存分两部分:系统缓存和用户数据缓存。http://www.php.net/apc3.Db缓存4.Memcache Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。Memcache是danga的一个项目,最早是Liv
阅读全文
摘要:实际应用中,尤其是在大规模访问的Web项目中,Memcache作为一种优秀的缓存解决方案,被广泛使用。其灵活性和可扩展性受到了广大开发者的青睐。为了提高响应速度,使用Memcache来减少数据查询运算是一种不错的选择。关于Memcache的安装和配置,网上有很多资料,这里就不再赘述。本文以笔者在实际项目中的应用为例,来说明如何使用Memcache缓存MySQL数据,从而达到高效数据响应的目的。需求背景:网站有一个图片放映功能,页面加载时需从数据库中查询管理员所提交放映的图片信息,图片放映区共有9张图片,对应在数据库表中有9条记录。每次用户访问网站时,需查询数据库,并显示图片。当承受大规模用户同
阅读全文
摘要:设计模式一书将设计模式引入软件社区,该书的作者是 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides Design(俗称 “四人帮”)。所介绍的设计模式背后的核心概念非常简单。经过多年的软件开发实践,Gamma 等人发现了某些具有固定设计的模式,就像建筑师设计房子和建筑物一样,可以为浴室的位置或厨房的构造方式开发模板。使用这些模板或者说设计模式意味着可以更快地设计更好的建筑物。同样的概念也适用于软件。设计模式不仅代表着更快开发健壮软件的有用方法,而且还提供了以友好的术语封装大型理念的方法。例如,您可以说您正在编写一个提供松散耦合的消息
阅读全文
摘要:WSDL文件示例 让我们来研究一下WSDL文件,看看它的结构,以及如何工作。请注意这是一个非常简单的WSDL文档实例。我们的意图只是说明它最显著的特征。以下的内容中包括更加详细的讨论。<?xml version="1.0" encoding="UTF-8" ?><definitions name="FooSample" targetNamespace="http://tempuri.org/wsdl/" xmlns:wsdlns="http://tempuri.org/wsdl/" xmlns:
阅读全文
摘要:WSDL : 描述你的Web服务级别: 中级柴晓路(fennivel@uddi-china.org), Chief System Architect, 上海得易电子商务技术有限公司2001 年 8 月 01 日本文初步介绍了Web Service 'stack'中对于Web服务即时装配,自动集成起着关键作用的WSDL规范,首先介绍了WSDL的作用和意义,其次对WSDL文档的结构作出概要地介绍,对每个元素的作用作了探讨,分析了其开放和复用的体系设计的思想,最后通过一个实例详细说明了WSDL的工作模式。本文所引用的资源主要包括两类,一类是Web服务的技术资源网站,包含了大量Web服
阅读全文
摘要:首先要编辑php配置文件:vi /etc/php.inierror_reporting = E_ERRORdisplay_errors = On因为我开启了php-fpm。所以,还要编辑 php-fpm.conf文件,把php_flag[display_errors]设为on:vi php-fpm.confphp_flag[display_errors] = on这样在开发的时候就可以在浏览器中显示php出现的错误了,非常方便。
阅读全文
摘要:今天在CentOS5下编译安装PHP5.2.4时出现错误:PHP安装错误 configure: error: xml2-config not found 错误原因,xml2-config这个文件没找到。网上查了下很多遇到这个问题的,原因是这两个包, libxml2-2.6.23-1.2.i386.rpm libxml2-devel-2.6.23-1.2.i386.rpm */ 没有安装。重新安装rpm -ivh libxml2-2.6.23-1.2.i386.rpmrpm -ivh libxml2-devel-2.6.23-1.2.i386.rpm再重新./configure --prefix
阅读全文
摘要:注:本系列教程都在zend studio 6.1.1上开发完成,amp环境全部自己配置,以避免使用类似xampp\wamp等继承环境带来的未知问题。1、首先创建存储用户的表2、创建对应于数据库表的数据库访问模型,即Zend Table在zend studio的工程上右键选择New Zend Framework Item,选择Zend Table,使用Users作为PHP文件名,以下是Users.php的内容:代码具体的含义不言自明。3、创建控制器使用同2的方法创建Zend Framework Item,不过选择的是Zend Controller,使用AuthController.php作为PH
阅读全文
摘要:在看这些之前请确保你正确加载了PDO扩展。做法是编辑php.ini 。手动增加这两行(前面要没有分号;):extension=php_pdo.dllextension=php_pdo_mysql.dll然后要把extension_dir指向php_pdo.dll及php_pdo_mysql.dll所在目录,如extension_dir = "C:\php5\ext"OK,let's go..index.php 网站首页,也是唯一入口<?php//...省略$params = array ('host' => '127.0.0.1&
阅读全文
摘要:Zend Framework的参考手册中是这样描述View Helper的:“在你的视图部分的脚本中,经常要实现一些复杂的功能,例如,格式化一个日期、生成表单元素或显示动作链接等等。现在你可以使用helper类来为你实现这些操作。”当前版本的ZF(0.1.3版)包含了几个表单helper,无疑将来当ZF成熟时会提供更多helper。我首先做的事情就是按照添加子类控制器建议的那样,建立类似Zend_View_Helper的目录结构:library/ Zend/ View/ Helper/MyProject/ View/ Helper/我的项目所需的特殊的helper文件放在library/MyP
阅读全文
摘要:Zend缓存被划分为两个模块:前端(frontend)和后端(backend)前端(frontend)用于实现不同粗粒程度的缓存.按照粗粒程度有:page(页缓存)对页面输出缓存,可以指定缓存开始位置,程序执行完自动结束缓存,如果缓存命中则直接输出缓存并终止程序运行(die).可以根据页面参数(get,post,cookie)做不同内容缓存output(输出缓存)输出缓存,可以指定程序输出中缓存的开始位置和结束位置,来缓存这之间的任何输出内容class(类缓存)提供了对类函数调用的输出缓存function(函数缓存)提供了对函数调用的输出缓存file(文件缓存)后端(backend)用于完成对
阅读全文
摘要:记得以前写过一个php编码规范的文章,这里的格式是zf的规范,大部分可以应用于非zf项目的PHP。说实话在程序正确的情况下,我有部分没有遵守。PHP文件格式1.?>?>这个如果是结尾,在PHP中不是必须写的。不写的目的是为了防止出现?>之后出现空格造成文件有输出。有输出也许就会出现session already send之类的错误。尽量让?>后面没有输出,有了zf,代码和页面混合编码已经是上上上个世纪的事情了,所以你的程序要是有了?>后面出现 别的,那看来还要继续啃手册了,啃啃view和controller做为预习。2.缩进4个空格,这个已经成为软件业标准了。3.
阅读全文
摘要:Zend Framework发布了!虽然仍处于开发初期,这个教程仍突出讲解目前几个最好的功能,并指导你完成一个简单程序的构建。Zend最早在社区里发布了ZF。基于同样的想法,这个教程写来用于展示ZF现有的功能。由于这个教程是在线发布,我将在ZF变化时对其进行更新,以便尽可能有效。要求Zend Framework要求PHP5。为了更好利用本教程的代码,你还需要Apache网页服务器。因为示范程序(一个新闻管理系统)用到了mod_rewrite。这个教程的代码可以自由下载,所以你可以自己试一下。你可以从Brain Buld的网站下载到代码:http://brainbulb.com/zend-fra
阅读全文
摘要:这两天网上开始疯传一个“nginx文件类型错误解析漏洞”,这个“漏洞”是这样的:假设有如下的 URL:http://phpvim.net/foo.jpg,当访问 http://phpvim.net/foo.jpg/a.php 时,foo.jpg 将会被执行,如果 foo.jpg 是一个普通文件,那么 foo.jpg 的内容会被直接显示出来,但是如果把一段 php 代码保存为 foo.jpg,那么问题就来了,这段代码就会被直接执行。这对一个 Web 应用来说,所造成的后果无疑是毁灭性的。关于这个问题,已有高手 laruence 做过详细的分析,这里再多啰嗦几句。首先不管你是否有用到正则来解析 P
阅读全文
摘要:PHP的Memcache< ?php//连接$mem = new Memcache;$mem->connect("192.168.0.200", 12000);//保存数据$mem->set('key1', 'This is first value', 0, 60);$val = $mem->get('key1');echo "Get key1 value: " . $val ."<br />";//替换数据$mem->replace('
阅读全文
摘要:Apache+MySQL+PHP环境配置1. Apache的安装配置版本:apache_2.2.6-win32-x86-no_ssl直接按默认安装,安装时要关闭浏览器跟下载软件,否则安装完成后服务器不能启动,报不能绑定80端口的错误。启动后在地址栏中输入“http://localcast/”或“http://127.0.0.1/”,如果可以看到"It Works",说明安装成功。如果需要更改默认路径,打开“C:\Program Files\Apache Software Foundation\Apache2.2\conf”目录下的httpd.conf文件,查找“Docume
阅读全文
摘要:配置curl 已经内置有php_curl.dll,在ext目录下,此DLL用于支持SSL和zlib. 在php.ini中找到有extension=php_curl.dll, 去掉前面的注释. 将 libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll 都拷贝到system32目录下,重启apache/iis即可. 参考地址:http://bbs.dvbbs.net/dispbbs.asp?boardid=157&Id=1549499 配置gd 在php.ini 里查找php_gd2.dll 将;extension=php_gd2.dll 的逗号
阅读全文
摘要:今天安装wordpress,用到其导入功能时,提示需要打开curl扩展,于是打开我的php.ini文件,找到";extension=php_curl.dll"这一行,把前面的分号去掉,结果还是不行,自己写了一段代码,调用curl_init()函数测试,出现错误提示如下:Fatal error: Call to undefined function: curl_init() 看来curl扩展还是没有打开,仔细查阅php手册【XVIII. CURL, Client URL Library Functions】一节,原来在Windows环境下打开curl扩展,还需要将libeay32.dll 和 s
阅读全文