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的FTP学习(一)[转自奥索]
Oct 09 PHP
使用sockets:从新闻组中获取文章(二)
Oct 09 PHP
使用数据库保存session的方法
Oct 09 PHP
php file_get_contents函数轻松采集html数据
Apr 22 PHP
php excel reader读取excel内容存入数据库实现代码
Dec 06 PHP
PHP_Cooikes不同页面无法传递的解决方法
Mar 07 PHP
PHP中的print_r 与 var_dump 输出数组
Jun 13 PHP
php中10个不同等级压缩优化图片操作示例
Nov 14 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
May 02 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 PHP
PHP二维数组分页2种实现方法解析
Jul 09 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脚本的10个技巧(7)
2006/10/09 PHP
PHP中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
2017/10/25 PHP
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
Javascript Web Slider 焦点图示例源码
2013/10/10 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
2015/12/08 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
2017/01/19 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
2017/08/09 jQuery
微信小程序城市选择及搜索功能的方法
2019/03/22 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
2019/07/31 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
使用python调用浏览器并打开一个网址的例子
2014/06/05 Python
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
玩转python爬虫之cookie使用方法
2016/02/17 Python
Python实现的ftp服务器功能详解【附源码下载】
2019/06/26 Python
纯CSS3实现8组超炫酷鼠标滑过图片动画
2016/03/16 HTML / CSS
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
医院办公室主任职责
2013/12/29 职场文书
运动会稿件300字
2014/02/14 职场文书
小学生国旗下演讲稿
2014/04/25 职场文书
社区活动策划方案
2014/08/21 职场文书
党员干部廉洁自律承诺书
2015/04/28 职场文书
运动会开幕式致辞
2015/07/29 职场文书
筑梦中国心得体会
2016/01/18 职场文书
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL