Windows 7 下IIS 7.5 结合Zend构建PHP集成开发环境

Windows 7 下IIS 7.5 结合Zend构建PHP集成开发环境
作者:宋杨
日期:2010年7月4日星期日
FeedBack:songyang@songyang.me
系统环境:Windows 7 简体中文旗舰版
软件环境:
1、 IIS 7.5(安装FastCGI)
2、 Zend studio7.2
3、 ZendServer-php-5.2.13-5.0.2-Windows_x86
4、 php-5.2.13-nts-Win32-VC6-x86
5、 具有高级服务的SQL Server 2008 Express
6、 SQL Server Driver for PHP v1.1
7、 Microsoft SQL Server JDBC Driver 2.0
首先简单说一下这个环境可以用来做什么:
PHP,这个好东西,相信随着时间的推移越来越多的地球人都开始喜欢上他了,掌握起来非常容易的同时又不乏强大,随行又有组织有纪律,尤其是在您写程序写到不知道怎么着手的时候,其背后的源代码宝库即会为你打开,各种武学精要般的秘籍都在这里融会贯通。尤其在Zend Studio中更加清澈的展现了PHP的核心思想。而且如今基于PHP的应用越来越广泛,无论个人还是企业,无论甲方还是乙方,都在这里得到了不少好处。
好,PHP确实好,Zend确实棒。但是跟Windows 7 还有IIS7.5又有何干呢?
莫急,请听在下细细道来:眼下大部分做PHP集成环境的都在使用一个叫做LAMP的环境。但是对于熟悉Windows平台,却不熟悉Linux;熟悉IIS,却不熟悉Apache;熟悉SQL Server,却不熟悉Mysql的同志们来说,需要痛下决心从头学习,更需要用自己的手给自己推个大光头,从头做起。这样的代价会让很多人才望而生畏,从而浪费了这辈人的才华,也让地球自转的同时少了许多精彩瞬间。所以,此时时刻,我们迫切需要的就是一个平滑舒服,低投入又高回报的“突破点”。
而这一点,如今就是这篇文章站在您面前的意义。让PHP这样美好的东西,平滑的跨入Windows的阵营,让PHP在Windows Server 、IIS及SQL Server之间也开始创造更丰富的美好存在。也让Windows 出身的地球人们在生活中多一丝自由的颜色。
意义不止如此,这仅仅是个开始;更多的精彩,是因为你的加入。
心动不如行动,下面咱们一起来看个究竟:
1、安装IIS7.5
1) 打开windows功能 工具。步骤: 点击 开始 | 控制面板 |程序| 程序和功能 (类别视图).
2) 在程序和功能下, 选择 打开或关闭windows 功能
3) 安装IIS。步骤: 钩选 Internet 信息服务
clip_image001
图 1
安装IIS7
4) 启用CGI功能 (包含 FastCGI).步骤: 展开 Internet 信息服务| 万维网服务 | 应用程序开发功能 节点,钩选 CGI 模块。
clip_image002
图 2
开启 CGI 功能
另一种办法:打开命令提示符,输入下面脚本:
start /w pkgmgr /iu:IIS-WebServerRole;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI;IIS-WebServer;IIS-CGI;IIS-DirectoryBrowsing
如果您的系统中已经安装了IIS7.5,那么只需安装CGI功能。同样,在命令提示符种输入下面脚本:
start /w pkgmgr /iu:IIS-CGI
2、下载Zend studio7.2(Windows 版),并安装注册(过程过于简单,不再演示)。
下载地址:http://www.zendstudio.net/zend-studio-all-in-one-download/
在线注册机:http://x.zendstudio.net/zend-studio-7-keymaker-online/
Zend studio7.2的使用方法,推荐无声视频教程(初学者适用,老鸟请跳过),下载地址
http://www.zendstudio.net/zend-studio-tutorial/
3、下载ZendServer-php-5.2.13-5.0.2-Windows_x86,并安装;
下载地址:http://www.zend.com/en/products/server/downloads
婆妈一句:
一定要选择名称:Zend Server (PHP 5.2) 版本: 5.0.2 大小: 60.50 MB 这个版本
1) 双击安装包ZendServer-php-5.2.13-5.0.2-Windows_x86.exe,选择典型安装,使用默认安装位置即可。
2) 安装完成后默认会通过浏览器打开Zend Server 的管理界面;
clip_image004
图 3
Zend Server Already install
4、安装SQL Server Driver for PHP
1) 下载SQL Server Driver for PHP v1.1并双击SQLServerDriverForPHP11.EXE自解压文件文件选择解压目录, 同意许可协议, 并为驱动选择一个解压的路径。 (例如, C:\SqlPhpDriver).
有字真言: 一旦文件被解压, 你就可以找到一个名为 SQLServerDriverForPHP.chm 的帮助文档来获取更多关于安装、编程指导和API参考的信息。下列步骤也是基于该帮助文档的。
2) 从文件夹C:\SqlPhpDriver(上一步的解压路径) 下复制 php_sqlsrv.dll 文件到复制到Zend Server默认安装目录中的PHP扩展文件目录中(通常是C:\ Program Files\Zend \ZendServer\lib\phpext)。
有字真言: php_sqlsrv.dll 必须放在PHP应用程序的功能扩展目录中(通常是C:\ Program Files\Zend\ZendServer\lib\phpext). 可以通过检查PHP应用程序目录中的php.ini配置文件中的设置项 extension_dir 来查看功能扩展目录的位置。另外php_sqlsrv.dll 文件是通过手工重命名得到的,选择对应PHP功能扩展版本(PHP Extension Build)的驱动,并将其重命名为 php_sqlsrv.dll(例如:PHP 扩展功能版本 php-5.2.13-nts-Win32-VC6-x86 对应的驱动文件为 php_sqlsrv_52_nts_vc6.dll )。
3) 修改PHP配置文件 (php.ini 放在 C:\ Program Files\Zend\ZendServer\etc 文件夹下):通过添加下面 动态扩展配置(Dynamic Extensions)来让PHP应用程序自动加载SQL Server Driver。(一般添加载配置文件php.ini的最后一行)
php.ini
[PHP_MSSQL_DRIVER]
extension=php_sqlsrv.dll
4) 保存并关闭 php.ini.,直接点击Zend Server 控制台界面中的clip_image005.让配置生效。
5) 验证:在Zend Server 控制台的Monitor面板中选择PHPinfo,在Registered PHP Streams后可以看到已经开启了 sqlsrv 这个功能,如此一来PHP就支持SQL Server专用的驱动和函数了,用PHP玩SQL Server 不是梦。
clip_image007
图 4
开启sqlsrv功能
5、安装具有高级服务的SQL Server 2008 Express
1) 下载具有高级服务的SQL Server 2008 Express,下载完毕后双击SQLEXPRADV_x86_CHS.exe进行安装;
2) 点击 全新SQL Server 独立安装或向现有安装添加功能 选项.
clip_image009
图 5
选择安装类型
3) 根据SQL Server 2008安装程序的默认向导继续安装, 包括安装支持文件的安装部分都是用默认设置进行, 直到你到达功能选择 页面。选择安装下图中勾选的功能,并点击下一步:
clip_image010
图 6
选择需要安装的功能
4) 实例配置磁盘空间要求 页使用默认配置.
5) 在 服务器配置 页, 选择 NETWORK SERVICE 作为数据库服务的启动帐户, 点击 下一步.
clip_image012
图 7
设置服务器配置
6) 在数据库引擎配置页,点击 添加当前用户 来添加数据库管理员. 点击 下一步.
7) 后面的步骤全部使用默认设置进行, 直到 准备安装 页. 再次审阅配置, 然后点击 安装.
clip_image014
图 8
SQL Server 2008 Express 安装成功
6、为Zend studio7.2安装Microsoft SQL Server JDBC Driver 2.0;
默认情况下Zend studio7.2只内置支持SQL Server 2005 的JDBC Driver 所以想要拿Zend 玩SQL Server 2008 并在PHP中体验SQL Server Driver for PHP的API带来的快乐的话,那就必须暴力一回了,呵呵。
1) 下载Microsoft SQL Server JDBC Driver 2.0 ,并解压(如:解压到C:\ sqljdbc_2.0)
2) 运行Zend studio7.2 ,并单击工具栏中的clip_image015,创建数据库连接配置;
clip_image017
图 9
创建数据库连接配置
3) 选择数据库类型为SQL Server;
clip_image018
图 10
选择SQLServer
4) 选择Next 并单击Microsoft SQL Server 2005 JDBC Driver后面的clip_image019new Driver Definition 来添加新的JDBC驱动。
clip_image020
图 11
配置JDBC驱动
5) 配置完成后,输入数据库名称、用户名、密码,即可连接
clip_image021
图 12
连接到SQL Server 2008
7、配置Zend studio7.2 的Zend Debugger环境;
1)选择Zend studio7.2菜单栏中Windows 下的Preferences展开PHP选择PHP Server并勾选 EnableZend Server integration启用Zend Server的集成开发环境;
clip_image023
图 13
启用Zend Server集成开发环境
2)选择PHP下的Debug,配置PHP Debugger 为Zend Debugger;
clip_image025
图 14
配置Debugger
3)打开一个需要调试的PHP脚本,选择菜单栏中Run 下的Debug Configurations,配置具体的调试选项;
clip_image027
图 14
配置具体调试选项
4)开始调试PHP脚本,一步一步的往下走吧
clip_image029
图 15
调试PHP脚本
总结:
通过以上7步配置,您就可以在Windows 7(或Windows Server 2008 R2)上以IIS7.5为Web服务器,以SQL Server 2008 为数据库 结合PHP 和Zend Server(With Zend Debugger)来快速的边开发边调试属于您自己的PHP应用程序了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268176.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在docker安装完tomcat后,访问地址出现404错误

在docker安装完tomcat后,访问地址出现404错误 可以看到我们平时访问的文件在webapps文件夹下,而这里的这个文件夹却为空,因为他把文件都放在webapps.dist文件夹下了,所有你只需要把webapps文件夹里面的内容移到webapps里面即可 …

czy的后宫5

题目描述 Description \(czy\) 要召集他的妹子,但是由于条件有限,可能每个妹子不能都去,但每个妹子都有一个美丽值,\(czy\) 希望来的妹子们的美丽值总和最大(虽然……)。\(czy\) 有一个周密的电话通知网络&…

解决Use ‘docker scan‘ to run Snyk tests against images to find vulnerabilities and learn how to fix th

Use docker scan to run Snyk tests against images to find vulnerabilities and learn how to fix them 解决方案 执行如下命令 export DOCKER_SCAN_SUGGESTfalse

上传附件删除、session清空问题

最近因为项目的需要,将客户端附件上传至服务器,附件上传的位置是IIS目录下的文件夹,经过处理之后。必须将该附件删除。 程序发布之后,使用该功能,结果项目无法运行。必须要重新启动IIS才可以重新运行整个项目。因为项目中的Sessio…

浅谈Junit4和TestNG中的参数化测试

最近在看Junit4的相关知识,由于本身做的是自动化方面的测试,所以工作上着重于应用TestNG。恰好遇到了一个将case进行参数化的需求,故在此记录Junit4和TestNG在参数化方面的区别。 一、Junit4和TestNG的注释支持 特点JUnit 4TestNG测试注释Tes…

使用docker查看和删除虚悬镜像

虚悬镜像是REPOSITORY和TAG为<none>的镜像 none镜像(虚悬镜像),那是因为 构建镜像过程中因为脚本错误导致很多镜像构建终止&#xff0c;产生很多none标签的版本 手动构建镜像的时候没有进行提交&#xff0c;遗留来的垃圾镜像 这些镜像占据较大的存储空间&#xff0c;需要…

局部变量、全局变量、堆、堆栈、静态和全局

局部变量、全局变量、堆、堆栈、静态和全局--------------------------------------------------------------- 一般全局变量存放在数据区&#xff0c;局部变量存放在栈区&#xff0c; 动态变量存放在堆区&#xff0c;函数代码放在代码区。 ----------------------------------…

博客园的编辑器毛病真多.....

1.有时候首行插入代码后&#xff0c;想删除代码做不到了——代码可以删除&#xff0c;可是那个框死活删不掉。 2.有时候删除大段内容的时候会突然卡住&#xff0c;然后整个页面回退到初始状态——编辑的内容没了&#xff0c;自动保存中也没有。 3.有时候进入编辑页面能看到编辑…

MSN消息提示类(II)

纯js编写跨框架无图片支持调速度任意位置弹出需要ie5.5以上 <HTML><HEAD><SCRIPT languageJavaScript><!--/**//* ** ** 类名&#xff1a;CLASS_MSN_MESSAGE ** 功能&#xff1a;提供类似MSN消息框 ** 示例&#xff1a; ----------…

查看docker-compose --version报错syntax error near unexpected token `(‘‘usr/local/bin/docker-compose:

问题 执行docker-compose --version查看版本是报错如下 /usr/local/bin/docker-compose: line 2: html: No such file or directory /usr/local/bin/docker-compose: line 3: head: No such file or directory /usr/local/bin/docker-compose: line 4: meta: No such file …

Android隐藏软键盘收回软键盘

代码改变世界 Android隐藏软键盘收回软键盘 InputMethodManager imm (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); // 隐藏软键盘 imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0); 代码中点击按钮实现隐藏软键盘…

oracle低权限下获取shell

转载请标明:http://hi.baidu.com/hack_forensic 《关于oracle列目录的可行性测试》 经过本人测试,确实可行,解决了 kj021320文章的遗憾,kj021320在文章<<ORACLE 建立数据文件WriteWebShell>>最后说,当然这个方法缺点就是你要知道WEB路径.少费话,直接贴code: crea…

spring的父子容器

在创建ssm项目工程时&#xff0c;经常需要读取properties资源配置文件&#xff0c;传统的方法当然可以。 但是spring提供了更简便的方法&#xff0c;value注解。 在page.properties文件中&#xff0c;配置分页信息。 这个时候&#xff0c;发现在Service层用value("${PAGES…

kubectl --help查看帮助命令

查看帮助命令 kubectl --help 具体查看某个操作 kubectl get --help

【网络基础】《TCP/IP详解》学习笔记3

一&#xff0e; 第四章&#xff1a;《ARP&#xff1a;地址解析协议》问题一&#xff1a;ARP的作用&#xff1f;ARP为IP地址到对应的硬件地址提供动态映射。问题二&#xff1a;ftp hostname的过程。1) DNS解析&#xff0c;将hostname解析成IP地址2) 请求TCP用得到的IP地址建立连…

使用localstorage来存储页面信息

今天小颖在跟着慕课网学习vue&#xff0c;不学不知道&#xff0c;一学吓一跳&#xff0c;学了才发现&#xff0c;我之前知道的只是vue的冰山一角&#xff0c;嘻嘻&#xff0c;今天把小颖跟着慕课网学习的demo&#xff0c;给大家分享下&#xff0c;希望对大家有所帮助嘻嘻。 环境…

kubectl get cs 查看组件状态

查看组件状态 Healthy为正常 kubectl get cs

[问题]魔兽双击地面回到选中的单位

问题描述&#xff1a;在玩魔兽时(dota或战略都一样)&#xff0c;鼠标双击地面或者在小地图上拖动鼠标松开的时候&#xff0c;画面总是回到已选中的那个单位。 问题原因&#xff1a;其他程序的快捷键和魔兽的快捷键冲突。在我的电脑上发现是“有道桌面词典”&#xff0c;具体是什…

UITextField实时监听输入文本的变化

开始用如下代理方法发现只能监听到变化后的前一位 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{//变化后的字符串NSLog("%",textField.text);return YES; } 然后在代理方法里面…