Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6644775
  • 博文数量: 915
  • 博客积分: 17977
  • 博客等级: 上将
  • 技术积分: 8846
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-26 09:59
个人简介

一个好老好老的老程序员了。

文章分类

全部博文(915)

文章存档

2022年(9)

2021年(13)

2020年(10)

2019年(40)

2018年(88)

2017年(130)

2015年(5)

2014年(12)

2013年(41)

2012年(36)

2011年(272)

2010年(1)

2009年(53)

2008年(65)

2007年(47)

2006年(81)

2005年(12)

分类:

2009-07-28 17:25:36

本文系博主原创,转载注明出处: | 泰麒工作室

6月的最后一天….PHP5.3发布了…沉寂了好久的PHP.net 终于有了些许动静….

东西还没来得及体验,就说说看新版发布说明的体验吧 :

1.如约引入了 namespace (命名空间) 的概念

用法还是延续其诡异的语法(其实就是已定义的符号不会被用作其他算法.也许这样解释的效率会比较高吧!)
\namespace\somesome::other
参见:

2.匿名函数,引入了闭包操作.(待补充)看到了一个新的关键字”use”
参见:

3.引入了 ,待补充

4.引入了几个扩展 C/C++ 中ICU的封装器,用于解决字符集编码的相关问题
看到这个不明白?知道java 有 jar不?明白了吧 - -
弥补PHP在文件处理中的一些不足,比如判断文件类型

下面进入正题…

新版本稳定版的体验固然很好,但是难保安装了新的PHP环境不会对之前已开发的工作造成影响.所以我才有了本文的尝试,大家也该注意到的,这是个beta 版本的文章,之所以要加个beta 是因为本章的用法会有很多不足,这些不足也是有待日后改进的.

系统环境 : Windows home Basic
软件环境 : Apache 2.2.11 with PHP 5.2.8 (Server API - Apache 2.0 Filter)
5.3 的Pack : 从 (新的域名 -_-) 下载的 “VC9 x86 Non Thread Saf” (XP的环境推荐 使用 VC6编译的)

构想完成过程 : 本来想直接替换掉5.2的…但是下载的5.3的包里居然没有 Apache 的 Filter(其实这是我做这次尝试的直接原因).最初的构想是在不同的web server上通过占用不同的端口来达到两个环境并存的目的.但是下了 Nginx 却发现没有 fastcgi - -.网上兜了一圈也没发现 ,后来在 fastcgi 的主站 发现 ,apache 也有相关的mod,又想到一般apache 的mod 之间是不冲突的.这样一来,就可以启动一个apache 带起两个PHP环境了.^_^我真是个天才.(无限YY中…)

配置前准备 : 拿定主意后,就再次在网上兜了起来…(兜的过程描述省略一万字 - -),最终…我完成了配置:具体操作如下
本次操作采用的apache 的mod 为 mod_fcgid ,你也可以采用其他的fastcgi 模块…

操作过程

首先去 下载对应版本的 mod_fcgid
解压后,将文件 mod_fcgid.so 放到 apache 目录下的 modules 里

进入配置目录conf,在其下新建 文件 : mods\fcgi.conf (mods 为任意目录名,这样放只是便于配置分类而已)
在 conf 文件末尾处加入如下内容

Include conf/mods/fcgid.conf

用于包含你刚建立的文件.

配置 mods\fcgi.conf 来配置fcgid
将以下内容修改后复制进去

# 加载 FastCGI 模块
LoadModule fcgid_module modules/mod_fcgid.so
# 配置 FCGId

# 添加头信息文件类型 应该是apache用来判断如何处理文件的,这里使用的是phtml 是避免与之前已经配置好的PHP冲突
AddHandler fcgid-script .phtml .fcgi
# CGI执行命令
FCGIWrapper “D:/php5.3/php-cgi.exe” .phtml

# 配置目录信息
  #(备注一下:这里的原有的5.2的根目录下其实就是指APACHE的HTDOCS目录,就是原来5.2放PHP文件目录的地方了。20090824备注)
# 注意这里的 ExecCGI 选项
Options Indexes FollowSymLinks ExecCGI
AllowOverride None
Order allow,deny
Allow from all
SetHandler fcgid-script

然后在你原来存放php文件的目录下新建一个fcgi目录即可.关于如何配置目录,以及脚本路径别名,本文不讨论.
在fcgi目录下新建一个index.phtml 输入

配置的不足之处:
1.无法默认访问 index.phtml 即使已经配置了 DirectoryIndex
2.没有考虑到 php5.3 libmysql的存放位置,因为只是用于体验5.3 ,所以这点可以忽略

最后放上两张最终结果图

PHP 5.2 on apache

PHP 5.2 on apache

PHP 5.3 on apache

PHP 5.3 on apache

阅读(5578) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

renxiao20032009-08-07 10:37:03

今天总算亲自实践了一下,成功的实现了。大家可以参照实践一下。 关于5.2的PHP版本安装,请从网上搜索其它的文档。