日期:2014-05-17  浏览次数:20477 次

php配置yii框架(转)

yii具有很多当今web2.0开发所需要的特性。下边是一个简短列表。

?

MVC设计模式 :yii在WEB设计中采用经过验证的技术,可以较好的把显示与逻辑分离。

DAO,活动记录:yii充许在对象方面建立数据库模型,保存长而重复语句。

整合jquery:最流行的javascript框架之一,苦于jquery可以定屈非常高效并且多功能的javascript接口

表单输入验证:yii可以很简单啊安全的采集表单输入。具有一整套验证方法确保输入数据的正确,还有辅助的方法与组件,在验证失败时,提示错误信息。

WEB2.0组件:jquery提供的一套web2.0组件,可以自动完成输入域,树形视图等等。

验证与授权:yii内置验证。通过分级的基本角色访问控制提供授权。

主题:可以立即更改yii应用的主题。

WEB服务:yii支持自动复杂的WSDL服务说明的产生和服务请求处理的管理.

国际化和本地化:yii支持信息翻译,日期时间格式化,数字格式化和界面本地化。

分层缓存计划:yii支持数据缓存,页面缓存,片断缓存和动态内容。且缓存的存储介质可以在不改变应用代码下被更改。

错误处理和日志:错误被处理并且很人性化的显示,日志信息可以实现分类,过滤,并可以路由到不同的目的地。

安全:yii提供许多安全措施保证WEB应用阻止网络攻击。包括:防止跨站脚本,防止伪跨站点请求,防止窜改cookie等等。

遵守xhtml:由yiit组件和命令行工具生成的代码遵守xhtml标准。

自动代码生成:yii提供自动生成所需代码的工具,比如:应用框架,CRUD应用等。

完全的面向对象:yii框架遵守严格的面向对象的程序设计模式。不定义任何全局函数或变量。所定义的类层次结构给予最在程度的可用性和可定制性。

支持第三方代码:yii可以很好的支持第三方代码。例如,可以在YII应用中使用PERA或者zend framework。

详细的文档:每一个方法或者属性都有明确的说明。提供综合指导与其他方面的指导。

扩展库:yii提供由使用者撰写的组件构成的扩展库。

?

项目主页是: www.yiiframework.com/

?

?

?

其实安装yii就和安装ZendFramework没什么区别,要么在每个项目中包含yii,要么在服务器用php的include_path来包含。

?

解压缩下载下来的文件夹后,里面有三个子文件夹:demos(演示),framework(框架核心代码),requirements(这个里边儿是检测你的服务器配置是否支持yii框架,主要是php扩展方面)

?

接下来就先进行测试吧,把里面的requirements目录单独复制到你的web目录下,然后运行 xxx.xxx.com/requirements,这样会显示类似如下图所示,

?

image

php_yii_requirements_1

?

PDO MySQL扩展模块 未通过 所有和数据库相关的类 如果使用MySQL数据库,这是必须的。

PDO PostgreSQL扩展模块 未通过 所有和数据库相关的类 如果使用PostgreSQL数据库,这是必须的。

APC扩展模块 未通过 CApcCache

SOAP扩展模块 未通过 CWebService, CWebServiceAction

?

我的服务器目前有着四项没有通过,出去PDO PostgreSQL这项我不需要,打算把其他三项给加上。

?

PDO MySQL的扩展需要在编译php的时候增加 --with-pdo-mysql=/usr/local/mysql

SOAP需要增加 --enable-soap 和 --with-libxml-dir=/usr/local/libxml2

?

然后进行编译安装

?[Copy to clipboard]View Code BASH

?

1

?

?

?

./configure --prefix=/usr/local/php-5.2.9/ --enable-force-cgi-redirect --enable-mbstring=all --enable-mbregex --enable-mbstr-enc-trans --enable-versioning --enable-trans-sid --enable-ftp --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2/bin/apxs --with-soap=yes --with-curl=/usr/local/curl/ --with-zlib-dir=/usr/local/zlib/ --with-mcrypt=/usr/local/libmcrypt/ --with-gd=/usr/local/gd2 --with-jpeg-dir=/usr --with-freetype-dir=/usr/local/freetype --with-ttf --with-png-dir=/usr --with-mhash=/usr/local/mhash/ --with-dom=/usr/local/libxml2 --with-iconv=/usr/local/libiconv --with-openssl=/usr/local/openssl --with-pdo-mysql=/usr/local/mysql --enable-soap --with-libxml-dir=/usr/local/libxml2 && make && make install

?

由于之前进行过memcached的安装,所以这里再重新来一遍

?[Copy to clipboard]View Code BASH

?

1

2

3

4

?

?

?

/usr/local/php/bin/phpize

./configure --prefix=/usr/local/memcached_phpclient3.0.4 --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir=/usr/local/zlib/

make

make install

?

安装完成后显示:

Installing shared extensions: /usr/local/php-5.2.9//lib/php/extensions/no-debug-non-zts-20060613/

?

下来修改php.ini

首先找到extension_dir,默认的应该是:extension_dir = "./"

现在修改成:extension_dir = "/usr/local/php//lib/php//extensions/no-debug-non-zts-20060613/"

然后再找到Dynamic Extensions,在下面加上:

extension=memcache.so

?

APC扩展模块儿比较麻烦:

它的下载地址是:http://pecl.php.net/package/apc

可以从下面的列表儿选择你需要的来下载。我下载的是3.0.19 stable版本。

解压缩后进入目录,并执行如下命令:

?[Copy to clipboard]View Code BASH

?

1

2

3

4

?

?

?

/usr/local/php/bin/phpize

./configure --enable-apc --enable-apc-mmap --with-php-config=/usr/local/php/bin/php-config

make

make install

?