WIN8.1下搭建PHP5.6环境


Posted in PHP onApril 29, 2015

第一次接触php是在2014-5月份左右,当时是自己的主攻方向是C#,对php比较排斥, 其中很多一部分原因,就是PHP的断点调试一直无法配置成功,用echo打印日志的方式排错,使得自己对php心生怨恨,而错失了深入学习php的好机会。这次写这篇随笔,一方面是记录自己php方向的起航,另一方面也是希望能帮助刚接触php的初学者么,能够顺利的配置php的环境,而不至于对php产生恐惧。

一、系统环境简介

Windows系统是一个非常常见的系统。相信这里也不用多做解释。那么如何开启IIS(win8.1),其实网上已经有很多教程,我这里只做简单的介绍。

①安装.net fromework 3.5

IIS运行需要依赖.net3.5,因此第一步就是安装.net fromework3.5。安装方法大致有两种,一种是在线下载,速度非常慢(真的非常慢),这里给大家介绍第二种,离线安装.net fromework3.5。找到安装win8的iso文件,加载到虚拟光驱中,如果有刻U盘系统的插入U盘即可。运行 “命令提示符(管理员)”(右键桌面的Win图标),输入命令“dism.exe /online /enable-feature /featurename:NetFX3 /Source:V:\sources\sxs”,V盘表示虚拟光驱的盘符或U盘的盘符。

②开启IIS

做开发的,开启IIS应该是小case了。这里就不多说了。

二、预先工作

①环境及IDE等文件下载

以下为参考网址,如无法打开或变动,请自行搜索,获取最新版本文件请行搜索,以下链接版本日期:2015-4-29最新

PHPManager:http://www.iis.net/downloads/community/2010/09/php-manager-for-iis-7

PHP:http://windows.php.net/download

XDebug:http://xdebug.org/

PHPStrom:http://www.jetbrains.com/phpstorm/

Xdebug Helper:http://www.chromein.com/crx_11294.html

②安装

初始的IIS是不支持php的,所以我们先下载了PHP Manager这个工具,安装成功后,可以在IIS中看到php manager的图标,如下图:

WIN8.1下搭建PHP5.6环境

进入php manager。后续配置比较简单,请自行百度,本文文的重点是讲断点调试,所以就不多??铝恕?hp配置完成后会看到如下界面:

WIN8.1下搭建PHP5.6环境

将下载下来xdebug的解压文件复制到php目录的ext文件夹中

WIN8.1下搭建PHP5.6环境

接下来就是IDE的安装了,PHPStorm安装还是很简单的,这里也不做多说,Xdebug helper是Chrome的一个扩展工具,在浏览器中输入chrome://extensions/,然后将下载下来的crx文件拖入该页面就可以了。

WIN8.1下搭建PHP5.6环境

三、配置

①Xdebug

Xdebug的配置网上一搜一大片,这里只给出我的配置,在php.ini文件中,加入以下代码,注意其中几个文件的位置。

[Xdebug] ;xdebug配置
zend_extension="D:/php/php-5.6.8-nts-Win32-VC11-x64/ext/php_xdebug-2.3.2-5.6-vc11-nts-x86_64.dll" ;载入Xdebug
xdebug.idekey="PHPSTORM"
xdebug.profiler_enable=on
xdebug.trace_output_dir="D:/php/xdebug-log" ;xdebug 的数据文件目录
xdebug.profiler_output_dir="D:/php/xdebug-log" ;xdebug 的数据文件目录
xdebug.auto_trace = On ;开启自动跟踪
xdebug.show_exception_trace = On ;开启异常跟踪
xdebug.remote_autostart = Off ;开启远程调试自动启动
xdebug.remote_enable = On ;开启远程调试
xdebug.remote_handler=dbgp ;用于zend studio远程调试的应用层通信协议
xdebug.remote_host=localhost ;允许连接的zend studio的IP地址
xdebug.remote_port=9001 ;反向连接zend studio使用的端口
xdebug.collect_vars = On ;收集变量
xdebug.collect_return = On ;收集返回值
xdebug.collect_params = On ;收集参数
xdebugbug.max_nesting_level = 10000 ;如果设得太小,函数中有递归调用自身次数太多时会报超过最大嵌套数错

②PHPStorm

进入php设置

WIN8.1下搭建PHP5.6环境

选择php语言设置

WIN8.1下搭建PHP5.6环境

添加解释器,其实如果你在IIS中运行,是不用添加解释器的,不过如果直接通过phpstorm来打开你的php代码则需要添加解释器,如下,按Alt+F2。通过解释器运行php,是不需要安装IIS的

WIN8.1下搭建PHP5.6环境

WIN8.1下搭建PHP5.6环境

接下来就是配置phpStorm的debug了。其实phpstorm的debug基本都有默认设置了,但我们最好还是要修改一下,因为可能9000端口被其他应用占用了。所以我们需要更改为其他端口,例如9001

WIN8.1下搭建PHP5.6环境

WIN8.1下搭建PHP5.6环境

注意:这里的端口要与php.ini中xdebug中的端口配置一致,请看上面的配置代码。

xdebug.remote_port=9001 ;反向连接zend studio使用的端口

 ③xdebug helper

它是Chrome的一个插件,真的很好用,配置很简单,直接上图

WIN8.1下搭建PHP5.6环境WIN8.1下搭建PHP5.6环境
到这配置基本结束了。下面我们测试一下。

四、断点调试测试

①找到页面,开启调试,点击小虫,选择Debug。

WIN8.1下搭建PHP5.6环境

②PHPstorm开启监听

WIN8.1下搭建PHP5.6环境

刷新http://localhost/php/FirstPHP.php页面

WIN8.1下搭建PHP5.6环境

运行结果:

WIN8.1下搭建PHP5.6环境

结果运行正确,到此本篇文章也就结束了,希望能对观者有所帮助。

以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
php中的时间处理
Oct 09 PHP
PHP图片上传类带图片显示
Nov 25 PHP
PHP URL路由类实例
Nov 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
Jun 26 PHP
php获取apk包信息的方法
Aug 15 PHP
php获取指定范围内最接近数的方法
Jun 02 PHP
PHP实现路由映射到指定控制器
Aug 13 PHP
PHP判断表达式中括号是否匹配的简单实例
Oct 22 PHP
thinkPHP自定义类实现方法详解
Nov 30 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
Dec 09 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 PHP
PHP内置函数生成随机数实例
Jan 18 PHP
php筛选不存在的图片资源
Apr 28 #PHP
php+ajax实现无刷新动态加载数据技术
Apr 28 #PHP
php恢复数组的key为数字序列的方法
Apr 28 #PHP
php递归调用删除数组空值元素的方法
Apr 28 #PHP
php删除文本文件中重复行的方法
Apr 28 #PHP
php实现简单的语法高亮函数实例分析
Apr 27 #PHP
php转换颜色为其反色的方法
Apr 27 #PHP
You might like
根德YB400的电路分析
2021/03/02 无线电
php中的时间处理
2006/10/09 PHP
全世界最小的php网页木马一枚 附PHP木马的防范方法
2009/10/09 PHP
php带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
PHP 实现重载
2021/03/09 PHP
jquery中获得$.ajax()事件返回的值并添加事件的方法
2010/04/15 Javascript
js 字符串转化成数字的代码
2011/06/29 Javascript
setTimeout自动触发一个js的方法
2014/01/15 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
jQuery的load()方法及其回调函数用法实例
2015/03/25 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
超级给力的JavaScript的React框架入门教程
2015/07/02 Javascript
解析jQueryEasyUI的使用
2016/11/22 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
使用watch在微信小程序中实现全局状态共享
2019/06/03 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
Django rest framework基本介绍与代码示例
2018/01/26 Python
python http基本验证方法
2018/12/26 Python
pyhanlp安装介绍和简单应用
2019/02/22 Python
Django CBV类的用法详解
2019/07/26 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
银行会计职员个人的自我评价
2013/09/29 职场文书
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
2014年环境整治工作总结
2014/12/10 职场文书
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
利用Python+OpenCV三步去除水印
2021/05/28 Python
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL