搜索
首页后端开发php教程 win7 停配置php开发环境以及phpunit、xdebug

win7 下配置php开发环境以及phpunit、xdebug

首先申明一下,下述配置过程是在win7 32位 专业版下进行的操作。下面就进入主题:

配置WAMP,安装appserv:

1.下载appserv。AppServ 是 PHP 网页架站工具组合包,作者将一些网络上免费的架站资源重新包装成单一的安装程序,以方便初学者快速完成架站,AppServ 所包含的软件有:Apache、Apache Monitor、PHP、MySQL、phpMyAdmin等。

2.以管理员权限运行刚下载的appserv,可以选择安装在D盘,端口号默认80不要改动,此外,还需要填写主机名,邮箱等,这些根据自己的情况填写,还要设置mysql密码,设置后要记住这个密码。一路next下来,就安装好了,这个时候会在D:\AppServ\www目录下出现一些文件,这个目录下的文件就是可以在本地运行的网页,你自己编写的html网页或者php网页都要放在这个路径下,就可以通过apache服务器访问到了。这个时候,www目录里面有一个index.php的文件,在浏览器中打开,如果出现下图所示的页面,则证明appserv已安装成功。


为了使网页提示我们所编写的php程序的语法错误,以便进行调试,我们现在做这样的事情:

首先编写一个有语法错误的php程序te.php,如下:

echo "hello"
echo " world";
?>

保存后,在网页运行这个php程序,如果网页出现语法错误的提示,则代表默认配置是显示语法错误的,这个时候,我们不需要做任何修改,但如果运行这个程序,网页不显示任何提示,是断网的效果的话,我们就要修改两个参数,分别如下:

display_errors=On

error_reportingE_ALL & ~E_NOTICE

保存,重启apache服务器,继续运行这个有语法错误的php程序,这个时候应该就可以提示语法错误了。


安装pear:


pear是PHP的扩展和应用程序库,包含了很多有用的类,安装好上述的appserv之后,appserv里面包含的php模块实际上并没有pear,所以我们要安装pear。安装pear有两种方法,下面分别介绍。

一、有go-pear.bat文件的情况

首先,打开你的php安装目录(我的是D:\AppServ\php5),查看该路径下有没有go-pear.bat,如果有的话,恭喜你,这时候的安装会简单一点。首先双击go-pear.bat,若出现php_mbstring.dll 找不到的提示,那么,打开C:\Windows\php.ini,找到extension=php_mbstring.dll,把这句话放到extension=php_exif.dll前面,保存。出现错误的原因是 exif 要调用 mbstring,所以 mbstring 必须在前面。但是系统的默认为什么mbstring要放在后面,怎么也想不通。

双击go-pear.bat后,

输入system,回车,

继续回车,表示全部安装。然后,

输入Y,回车,

继续回车,

这个时候pear就安装成功了,回车即可。

此时,pear安装成功了,我们现在需要告诉php我的pear安装在了哪里,所以,打开php.ini,找到如下内容:

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;


; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"

将最后一行的分号去掉,并修改为自己的PEAR的安装目录,例如,我的是 include_path = ".;D:\AppServ\php5\PEAR"

这个时候,查看php的安装目录,发现又多了pear.bat和PEAR_ENV.reg。首先重启apache服务器,

然后双击PEAR_ENV.reg文件,选择“ok”,导入pear的注册信息(为什么导入现在还不是很明白)。

接下来设定环境参数,双击pear.bat文件即可,然后打开cmd,输入pear version,如果出现版本信息,表示安装成功。

再输入pear list,出现pear包的列表,phpunit需要pear的benchmark包,如果没有Benchmark ,请在命令行输入 pear install Benchmark进行安装。

安装成功后,继续输入pear list查看所安装的pear库,

出现了benchmark,ok。

pear的目录结构如下:


其中默认cfg www 文件夹是空的,data docs pear 三个文件里面在每一次用pear命令安装一个软件都会在里面建立一个文件夹保存软件的数据,比如安装phpdocumentor ,那么在这三个文件夹里面都会有phpdocumentor文件夹。

现在,我们需要更新一下pear,在命令行输入pear upgrade-all,其间如果看到错误信息,多试几次,这是因为有的包对pear的版本有要求,第一遍执行完后,这时候运行pear version,可以发现pear的版本升级了,然后继续运行pear upgrade-all,还会升级之前因为版本要求不能升级的包。

直到已无可更新的内容,停止。

这个时候,因为更新了pear,所以再运行一次PEAR_ENV.reg,导入信息到注册表,防止出错。


二、没有go-pear.bat文件的情况

如果你的php安装目录下没有go-pear.bat文件,也不要紧,有些集成包就没有这个东西,这时候,点击这里 

下载链接中的文件go-pear.phar,下载完成后把该文件放在php的安装目录下,然后再复制一个go-pear.phar文件,修改名称为go-pear.php,同样放在php的安装目录下。打开dos,进入php的安装根目录 运行go-pear.php,会打开go-pear.php窗口,然后关掉就可以了,然后就可以按照正常的流程来安装phpunit了。


安装phpunit:


在pear中添加频道,在php安装目录中依次执行如下命令:

pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com

pear install --alldeps phpunit/PHPUnit   (这句代表安装PHPUnit的所有元素,如果运行pear install phpunit/PHPUnit,则只安装一部分文件,之后写测试的时候很可能会报错,所以这里安装PHPUnit的所有元素。如果之前运行了pear install phpunit/PHPUnit,那么解决方法是删掉php/pear/phpunit,再执行pear install --alldeps phpunit/PHPUnit,或者执行pear clear-cache清除缓存,然后pear   install -a -f phpunit/PHPUnit重新安装。))。

安装成功后,这个时候运行phpunit --version,有版本信息,表示phpunit安装成功。


至此,你就已经为你的php运行环境安装好了一个phpunit测试环境,你可以编写测试用例,并用phpunit命令来执行了。


安装Xdebug:

Xdebug是一个开放源代码PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。接下来介绍一下怎样安装xdebug。

首先测试一下,在地址栏中输入http://localhost/phpinfo.php,查看Thread Safety字段,如果是enabled,则表示你的php是线程安全的。

Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。

上述Thread Safety=enabled 参数代表是线程安全的,那么,http://xdebug.org/download.php下载相应的线程安全的xdebug的应用程序扩展(dll),注意一定要下载对应你的php版本的xdebug版本,否则xdebug将不可用,具体涉及到以下几个方面:

(1)Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。

(2)VC6 版本是使用 Visual Studio 6 编译器编译的,如果你是在windows下使用Apache+PHP的,请选择VC6版本。

VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你是在windows下使用IIS+PHP的,请选择VC9版本。

(3)Windows下的PHP 主要有两种执行方式:ISAPI 和 FastCGI。

 ISAPI 执行方式是以 DLL 动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检             查,这样来提高程序的执行效率,所以如果是以 ISAPI 来执行 PHP,建议选择 Thread Safe 版本;

 FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果           是以 FastCGI 来执行 PHP,建议选择 Non Thread Safe 版本。官方并不建议你将Non Thread Safe 应用于生产环境。


打开http://xdebug.org/download.php网址后,会看到很多版本的xdebug,

有TS后缀的是线程安全的,这时候的我应该下载有TS后缀的,并且是VC6的,并且我的php版本是5.2的,我的windows是32位的,所以我要下载php_xdebug-2.1.2-5.2-vc6.dll。大家应该根据自己的php版本和其他信息下载相应的xdebug。

将下载的文件放在 php根目录/ext中,然后打开C:\Windows\php.ini,添加如下内容:

[xdebug] 

zend_extension_ts="D:\AppServ\php5\ext\php_xdebug-2.1.2-5.2-vc6.dll" 
xdebug.auto_trace=on  
xdebug.collect_params=on 
xdebug.collect_return=on 
xdebug.profiler_enable=on 
xdebug.trace_output_dir="d:\xdebug"
xdebug.profiler_output_dir="d:\xdebug"
xdebug.remote_enable=on 
xdebug.idekey=""
xdebug.remote_handler=dbgp 
xdebug.remote_host=localhost
;xdebug.remote_port=8888
xdebug.remote_port=9000

注意
1,根据PHP 版本 下载对应的xdebug. 不要乱下 不然对应不上的. VC6 VC9, 安全模式等等 它对应很多版本的. 请执行phpinfo 后查看你的版本!!!!!这个最主要的! 
2;我上面 第一行的地址要修改.根据自己存放的值.最下面的地址是存放 记录的.可以自己随便了.

重启apache,刷新http://localhost/phpinfo.php,这时候,如果页面中出现了xdebug的配置参数,则表示xdebug安装成功。



声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
您什么时候使用特质与PHP中的抽象类或接口?您什么时候使用特质与PHP中的抽象类或接口?Apr 10, 2025 am 09:39 AM

在PHP中,trait适用于需要方法复用但不适合使用继承的情况。1)trait允许在类中复用方法,避免多重继承复杂性。2)使用trait时需注意方法冲突,可通过insteadof和as关键字解决。3)应避免过度使用trait,保持其单一职责,以优化性能和提高代码可维护性。

什么是依赖性注入容器(DIC),为什么在PHP中使用一个?什么是依赖性注入容器(DIC),为什么在PHP中使用一个?Apr 10, 2025 am 09:38 AM

依赖注入容器(DIC)是一种管理和提供对象依赖关系的工具,用于PHP项目中。DIC的主要好处包括:1.解耦,使组件独立,代码易维护和测试;2.灵活性,易替换或修改依赖关系;3.可测试性,方便注入mock对象进行单元测试。

与常规PHP阵列相比,解释SPL SplfixedArray及其性能特征。与常规PHP阵列相比,解释SPL SplfixedArray及其性能特征。Apr 10, 2025 am 09:37 AM

SplFixedArray在PHP中是一种固定大小的数组,适用于需要高性能和低内存使用量的场景。1)它在创建时需指定大小,避免动态调整带来的开销。2)基于C语言数组,直接操作内存,访问速度快。3)适合大规模数据处理和内存敏感环境,但需谨慎使用,因其大小固定。

PHP如何安全地上载文件?PHP如何安全地上载文件?Apr 10, 2025 am 09:37 AM

PHP通过$\_FILES变量处理文件上传,确保安全性的方法包括:1.检查上传错误,2.验证文件类型和大小,3.防止文件覆盖,4.移动文件到永久存储位置。

什么是无效的合并操作员(??)和无效分配运算符(?? =)?什么是无效的合并操作员(??)和无效分配运算符(?? =)?Apr 10, 2025 am 09:33 AM

JavaScript中处理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。1.??返回第一个非null或非undefined的操作数。2.??=将变量赋值为右操作数的值,但前提是该变量为null或undefined。这些操作符简化了代码逻辑,提高了可读性和性能。

什么是内容安全策略(CSP)标头,为什么重要?什么是内容安全策略(CSP)标头,为什么重要?Apr 09, 2025 am 12:10 AM

CSP重要因为它能防范XSS攻击和限制资源加载,提升网站安全性。1.CSP是HTTP响应头的一部分,通过严格策略限制恶意行为。2.基本用法是只允许从同源加载资源。3.高级用法可设置更细粒度的策略,如允许特定域名加载脚本和样式。4.使用Content-Security-Policy-Report-Only头部可调试和优化CSP策略。

什么是HTTP请求方法(获取,发布,放置,删除等),何时应该使用?什么是HTTP请求方法(获取,发布,放置,删除等),何时应该使用?Apr 09, 2025 am 12:09 AM

HTTP请求方法包括GET、POST、PUT和DELETE,分别用于获取、提交、更新和删除资源。1.GET方法用于获取资源,适用于读取操作。2.POST方法用于提交数据,常用于创建新资源。3.PUT方法用于更新资源,适用于完整更新。4.DELETE方法用于删除资源,适用于删除操作。

什么是HTTP,为什么对Web应用程序至关重要?什么是HTTP,为什么对Web应用程序至关重要?Apr 09, 2025 am 12:08 AM

HTTPS是一种在HTTP基础上增加安全层的协议,主要通过加密数据保护用户隐私和数据安全。其工作原理包括TLS握手、证书验证和加密通信。实现HTTPS时需注意证书管理、性能影响和混合内容问题。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中