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过滤★等特殊符号的正则
Jan 27 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
Jul 28 PHP
PHP实现自动识别Restful API的返回内容类型
Feb 07 PHP
PHP随机生成唯一HASH值自定义函数
Apr 20 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 PHP
PHP中strpos、strstr和stripos、stristr函数分析
Jun 11 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
Jul 06 PHP
PHP中in_array函数使用的问题与解决办法
Sep 11 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
Apr 08 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 PHP
PHP标准库 (SPL)――Countable用法示例
Jun 05 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
php方法调用模式与函数调用模式简例
2011/09/20 PHP
php实现短信发送代码
2015/07/05 PHP
详解PHP对象的串行化与反串行化
2016/01/24 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
对PHP依赖注入的理解实例分析
2016/10/09 PHP
js函数般调用正则
2008/04/08 Javascript
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
JavaScript闭包实例讲解
2014/04/22 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
2016/05/17 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
[01:07:53]RNG vs VG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
wxPython窗口中文乱码解决方法
2014/10/11 Python
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
Python的消息队列包SnakeMQ使用初探
2016/06/29 Python
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
python实现随机漫步算法
2018/08/27 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
对pandas写入读取h5文件的方法详解
2018/12/28 Python
Python3 导入上级目录中的模块实例
2019/02/16 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
婚庆答谢词
2015/01/04 职场文书
大学生逃课检讨书
2015/05/04 职场文书
2015年妇幼卫生工作总结
2015/05/23 职场文书
家庭贫困证明
2015/06/16 职场文书
matlab xlabel位置的设置方式
2021/05/21 Python