Zend Studio在6.0之前采用独立安装包进行发行。下面分别对经典的Zend Studio 5.5和成熟的Zend Studio 8.0进行讲解,方便读者选择。Zend Studio 8.0是Zend推出的商业套件,开发者或企业必须要购买商业许可才能进行使用。......
2023-11-04
Memcahced是一套小巧、高效且成熟的内存数据库。与普通的数据库不同,Memcached存放的数据只能是简单的键值对,在查询时需要根据存放的key获取数据。Memcached最大的特点是数据存放于内存。众所周知内存是计算机上数据储存最快的单元器件之一,如果将数据存放于内存中,将会获得比传统文件系统高10倍效率的读写性能。所以Memcached通常是高效存储的代名词,在很长一段时间内,Memcached都是各大型门户网站所采用的缓存系统。ThinkPHP对Memcached的支持已经非常完善,在使用前首先需要正确安装并运行,安装方式又分为Linux平台及Windows平台,下面分别介绍。
1.在Linux平台上安装Memcached
Memcached的安装比较简单,但如果要让PHP支持Memcached,还需要安装Memcache for PHP扩展。当然,读者也可以将Memcached独立安装到一台服务器,这里假设使用的是XAMPP开发环境包,现在需要安装Memcached,步骤如下所示(以Centos 6.0为例)。
(1)安装libevent
与前面介绍的HTTPSQS一样,Memcached也是使用异步事件处理的,所以在安装Memcached之前,首先需要查看当前环境是否已经安装异步事件处理函数库libevent。
如果没有,可以使用yum进行安装,但版本可能比较低。这里将使用源代码安装,安装步骤如以下命令所示。
默认会被安装到/usr/local/libevent-2.0.12-stable/目录下。
(2)安装Memcached
接下来就可以安装Memcached主程序了。Memcached官方网站为http://memcached.org/,读者可以在该网站上找到最新的源代码安装包,这里将使用1.4.15版本,安装过程如下。
默认情况下,Memcached将被安装到/usr/local/bin/目录下。在启动前,还需要将libevent包存放路径加入到/etc/ls.so.conf文件中,如以下命令所示。
完成上述操作后,现在就可以启动Memcached主程序了,如以下命令所示。
在启动时,常用的启动参数如下。
➢-m:最大使用内存,以MB为单位,默认64。
➢-p:Memcached启动进程所使用的TCP通信端口,默认11211。
➢-d:将Memcached作为后台守护进程运行。
➢-u:启动用户。
➢-P:进程文件存放路径。
➢-c:最大运行并发数,默认1024。
➢-l:监听服务器地址(即允许telnte登录的IP)。
启动完成后,可以直接查看主进程是否存在,判断是否启动成功。
(3)安装Memcache扩展
Memcache是PHP一个扩展模块,在安装前需要确保当前环境已经具备PHP环境。因为只有将Memcache编译到PHP扩展模块中,开发人员才能使用PHP代码调用Memcache,PHP内置了一个编译第三方扩展的工具phpzie,接下来就利用该工具来编译Memcache,步骤如下。(www.chuimin.cn)
首先下载和解压Memcache,这里使用的版本是2.2.5,命令如下所示。
接下来使用phpzie工具配置Memcache。假设PHP安装路径为/usr/local/php/,那么phpize路径就是/usr/local/php/bin/phpize。
现在就可以使用make工具编译Memcache了,过程如下。
扩展将被安装到/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/目录。最后还需要修改php.ini配置项,将该扩展目录加入到extension_dir选项。事实上php.ini已经默认加入了该扩展目录,只是被注释而已,只需要去掉注释即可,过程如下。
读者也可以手动添加上。保存php.ini配置文件,重启php-fpm或者web服务器,以便配置文件生效。
至此,Memcached及Memcache都已经安装完成,通过phpinfo函数输出信息将可以看到Memcache配置项,如图10-2所示。
图10-2 成功安装Memcache扩展
2.在Windows平台上安装Memcached
在Windows下安装Memcached主程序及Memcache扩展比较简单,使用方式不论在任何平台上都没有区别。但是无论是官方文档还是第三方权威资料,都不建议在Windows下部署Memcached生产环境。通常情况下,在Windows上只用于开发环境。下面将简单介绍在Windows 7下的安装过程。
首先需要下载Windows安装包。
将压缩包解压到指定的目录,例如C:\memcached,进入该目录将会看到memcached.exe主程序。接下来使用命令终端执行memcached.exe,命令如下。
通过上述步骤,Memcached就自动安装完成了,接来下只需要启动即可。
启动完成后,可以通过任务管理器查看到Memcached进程,也可使用netstat–an查看11211端口,检测Memcached是否安装成功。接下来只需要安装PHP扩展即可。
首先下载memcache.dll扩展,这里使用的版本为2.2.5.
解压后将得到php_memcache.dll扩展文件。将php_memcache.dll复制到PHP扩展目录,通常该目录位于PHP安装目录下的ext目录(即php\ext)。打开php.ini配置文件,将php_memcache.dll扩展加入到配置项中,如以下代码所示。
保存配置文件,重启Web服务器,通过phpinfo函数可以看到Memcache选项,证明PHP扩展安装成功。
有关PHP MVC开发实战的文章
Zend Studio在6.0之前采用独立安装包进行发行。下面分别对经典的Zend Studio 5.5和成熟的Zend Studio 8.0进行讲解,方便读者选择。Zend Studio 8.0是Zend推出的商业套件,开发者或企业必须要购买商业许可才能进行使用。......
2023-11-04
和其他PHP MV框架一样,要使用ThinkPHP必须首先要安装和部署框架文件。ThinkPHP支持多种数据库驱动,包括PDO套件,接下来将通过ThinkPHP实现一个简单的MVC应用。这里将下载的版本为ThinkPHP 3.0,解压后ThinkPHP目录结构如图4-22所示。图4-23 ThinkPHP成功初始化项目......
2023-11-04
SVN提供了完善的用户管理权限,用户管理权限在多人项目开发中具有非常重要的作用,它能够明确地让开发人员在自己的职责范围内编写代码。SVN使用authz文件作为权限配置文件,该文件提供了用户组功能,组别权限配置能够具体到项目的文件夹。打开svnserve.conf文件,找到#authz-db=authz节点,将#注释符与空格删除,这样就完成了权限配置。至此,SVN权限配置就完成了。需要说明的是,SVN只是实现版本控制,但对于团队开发来说,版本控制只是文件管理的一部分。......
2023-11-04
PHP 5后的版本借鉴了大量Java思想,得益于早期PHP面向过程编程支持,PHP在实现MVC设计中变得较灵活、易用。但是随着PHP 5.x的到来,各种MVC框架的出现,尤其Zend推出的Zend Framework,彻底地改变了PHP状况,使得PHP也能够实现优雅的Web编程。MVC设计模式将使代码将变得简洁。但是在MVC设计模式中,Index称为动作。当然,MVC只是一种设计模式,在开源的PHP编程世界中,已经拥有众多的MVC编程框架。......
2023-11-04
前面已经简单介绍过ThinkPHP视图引擎,这些标签处理机制类似于JSP tag,使用XML作为标签的渲染方式,开发人员可以方便地在网页中嵌入XML标签,然后由ThinkPHP视图引擎解释成标准的PHP代码。ThinkPHP的视图引擎之所以高效,主要体现在它的标签扩展性。ThinkPHP的视图标签扩展性够完美地与后台控制器代码相结合,例如在Smarty中使用函数功能,首先需要在后台PHP代码注册,而在ThinkPHP中完全不需要,如以下代码所示。......
2023-11-04
系统共支持7种模式扩展,下面将分别对最常用的几种模式进行介绍。表11-1 CURD操作接口如表11-1所示,参数$data表示传入或返回的数据信息;参数$options表示返回当前操作的模型名称及表前缀。......
2023-11-04
SVN是一套版本控制系统,简单地说就是一套自动备份系统。这个比喻虽然不太恰当,但使用SVN完全不用担心数据的丢失,只要从一开始就使用SVN,哪怕项目快结束了,也能找到刚开始时的文件内容。事实上SVN远不止备份那么简单,之所以这样比喻,是为了让没接触过SVN的读者有个直观印象,方便接下来的学习。图1-21 SVN流程图图1-21简单地演示了SVN多人协同开发时的流程。......
2023-11-04
在成员变量前加上static关键字即成为了静态类变量,它的定义方式与普通的类成员变量并没有较大区别;如果在类成员方法前加上static关键字,那么该方法即成为了静态方法。如果一个类中既有实例化方法,也有静态方法,那么在静态方法中将不能直接使用$this关键字进行调用。下面通过代码演示static关键字的使用。事实上在调用实例类成员时,开发人员同样可以使用“class::action()”调用实例类成员,但需要配置php.ini的错误级别,否则将会产生“Non-static”错误。......
2023-11-04
相关推荐