PHP开发环境搭建(基于Eclipse+Apache+Xdebug)

        PHP的开发环境有很多,有收费的,有免费的。免费的PHP开发环境多来自各种开源社区或者个人的无私奉献。本文就将以来自开源社区的软件来搭建PHP的开发环境。

       注意:下面将以在Windows OS下安装PHP开发环境来做说明!!!

 

Apache的安装和配置

       打开Apache官网,找到需要的版本下载Apache Web服务器(本人用的是Legacy Release - 2.2 Branch这个,即Apache 2.2版本),下载完成后安装。

       Apache安装完成后,再安装PHP,找到下面的安装步骤进行安装。装完PHP后再回来完成后面的Apache的配置。

 

       安装完PHP后找到Apache的安装目录,打开conf文件夹下面的httpd.conf,找到末尾这几行配置

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "省略"
省略...
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

       把它替换成下面的配置。如果没有找到上面的配置,直接在末尾追加。

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "PHP根目录(如果是Windows环境下,应把 \ 全都换成 / )"
LoadModule php5_module "PHP根目录/php5apacheX_X.dll (X_X表示版本号,如果是Windows环境下,应把 \ 全都换成 / )"

#AddHandler application/x-httpd-php .php #这行注释掉的代码可以用下面的三行配置代替,区别在于:如果用本行配置的话,PHP解析器会解析文件名中包含 .php 内容的文件,而不在于是不是.php结尾,而下面三行的配置就是让PHP解析器只解析以.php结尾的文件
<FilesMatch \.php$>
	SetHandler application/x-httpd-php
</FilesMatch>
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

 接着是配置Apache的工作目录,推荐的方式是直接配置成Eclipse的工作空间(workspace),而不单单配置成项目文件夹,以为这样配置便于PHP脚本以PHP Web Page的方式进行运行或调试。同样在httpd.conf文件中进行配置,配置如下所示:

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
#-> DocumentRoot "Apache安装目录/htdocs" #这行是原本的配置
DocumentRoot "PHP项目所在的工作空间,Eclipse的workspace(需要注意的是在Windows系统下,也需要把 \ 换成 /)"

#
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories). 
#
# First, we configure the "default" to be a very restrictive set of 
# features.  
#
<Directory "PHP项目所在的工作空间,Eclipse的workspace(需要注意的是在Windows系统下,也需要把 \ 换成 /)">
#->    Options FollowSymLinks
#->    AllowOverride None
#->    Order deny,allow
#->    Deny from all
</Directory>

 

       这样Apache就完成了运行PHP的配置。

 

 

PHP的安装和配置

        打开PHP官网,找到页面右下角,有各个系统平台下的PHP的下载地址,在Windows系统下安装的直接点击这里打开下载画面。选择PHP版本号的时候应该注意到下面几点:

  • 如果是用于 IIS 则选择 PHP 5.3 VC9 Non Thread Safe 或者 VC6 Non Thread Safe

  • 如果是用 IIS7 或更高版本以及 PHP 5.3+,则应选择 VC9 的包;

  • 如果是用于 Apache 1 或 Apache 2 则选择 PHP 5.3 VC6 或者 PHP 5.2 VC6

       Note: VC9 版本是用 Visual Studio 2008 编译的并且在性能和稳定性上都有所提高。VC9 版本需要用户系统中安装有» Microsoft 2008 C++ Runtime (x86) 或者 » Microsoft 2008 C++ Runtime (x64)

 

       对于每个相同的PHP版本,还分为线程安全的和非线程安全的,区别在于后者的文件名上带有 nts 字样,两个版本可以随便选择。

    本人用的版本是 php-5.3.5-Win32-VC6-x86.msi

 

       下载完后,打开进行安装,安装过程中需要选择Apache的安装根目录。如果是自定义安装,还需要选择必要的扩展。OK!安装完成...

       打开php解析器的安装目录下的php.ini文件,搜索下面几项配置,都设置成on

 

 #是否在php解析出的文件中显示错误信息
display_errors = on

 #显示启动错误,可以选择性开启,如果PHP启动没问题可以关闭
display_startup_errors = Off

#将错误输出到log中,server-specific log(服务器错误log), STDERR(标准错误流), a location specified by the error_log(指定的log文件)
log_errors = On
       OK!完成!
 
Xdebug的安装和配置 (PHP调试器)

 

       Xdebug作为PHP调试工具,提供了丰富的调试函数,也可将Xdebug安装配置为zend studio、editplus调试PHP的第三方插件,通过开启自动跟踪(auto_trace)和分析器功能,可以直观的看到PHP源代码的性能数据,以便优化PHP代码。要让Eclipse能够直接进行调试,还需要为PHP添加加拓展支持,有两种扩展插件可供选择,一种是Zend Debugger(不好找,它本身也是包含在收费的zend studio中的),还有一种是开源的XDebug。这里用的就是XDebug,点击 打开XDebug下载画面 ,找好PHP对应的版本。

       注意:XDebug也区分线程安全跟非线程安全版本,线程安全版本中有 TS 字样。 本人用的是 Xdebug 2.1.2 PHP 5.3 VC6 TS (32 bit) 版本。

       Xdebug安装提示:如果你不清楚安装的PHP版本,你可以通过phpinfo()函数参看,同时Xdebug也提供了phpinfo输出信息分析工具来帮助你分析如何安装Xdebug,只要将phpinfo输出信息复制提交即可,地址:Xdebug phpinfo信息分析地址

 

       下载完后,放到PHP安装目录下的 ext 文件夹中,接着打开 php.ini 配置文件,在末尾添加如下配置。

 

;;;;;;;;;;;;;;;;;;;
;     xdebug      ;
;;;;;;;;;;;;;;;;;;;
[Xdebug]
# Xdebug插件路径,需要把 \ 换成 / 
zend_extension="D:/SoftwareSky/PHP/PHP5.3_VC6/ext/php_xdebug-2.1.2-5.3-vc6.dll"

# 是否允许Xdebug跟踪函数参数,默认值为0
xdebug.collect_params=0

# 是否允许Xdebug跟踪函数返回值,默认值为0
xdebug.collect_return=0

# 是否允许Xdebug跟踪函数调用,跟踪信息以文件形式存储,默认值为0
xdebug.auto_trace=0

# 函数调用跟踪信息保存到文件时,文件的所在的文件夹,该文件夹要事先存在,且可读写,注意 \ 转换
xdebug.trace_output_dir="D:/SoftwareSky/PHP/PHP5.3_VC6/xdebug/trace"

# 打开xdebug的性能分析器,以文件形式存储,这项配置是不能以ini_set()函数配置的,默认值为0
xdebug.profiler_enable=0

# 性能分析文件的存放位置,默认值为/tmp
xdebug.profiler_output_dir="D:/SoftwareSky/PHP/PHP5.3_VC6/xdebug/profiler" 

# 是否显示异常,默认为0
xdebug.show_exception_trace=0

# 远程调试是否自动启动
xdebug.remote_autostart=0

# 是否可以远程调试,如果要在Eclipes中调试脚本,需要启用该项
xdebug.remote_enable=1

# 供远程调试器接入的地址
xdebug.remote_host=127.0.0.1

# 供远程调试器接入的端口
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
      Xdebug配置提示:PHP5.3之前版本配置Xdebug时使用zend_extension_ts,对于PHP5.3以上版本,使用zend_extension。
        XDEBUG NOT LOADED AS ZEND EXTENSION信息出现的原因 :  出现XDEBUG NOT LOADED AS ZEND EXTENSION的原因是在安装Xdebug时由于我们将Xdebug的DLL文件复制到了php\ext目录下,容易以PHP扩展库的形式加载Xdebug,在php.ini文件中添加了配置   extension=php_xdebug-2.1.0-5.3-vc6.dll

 

Eclipse的安装和配置

       下载 Eclipse PHP Development Tools,它的官网地址是:

http://www.zend.com/en/company/community/pdt/downloads

       在打开的新窗口中,找到自己系统(windows/linux/mac os)所对应的版本下载 Zend Eclipse PDT。由于下载前需要先登录后才能下载,可以点击这里直接进行下载:Eclipse PDT下载。下载完成后将Eclipse解压缩到需要的目录即完成了Eclipse的安装。如果你的内存够大,可以为Eclipse运行预定更多的内存空间:打开Eclipse根目录下的eclipse.ini文件,修改成下面这个样,可以提高Eclipse的性能。

 

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222
-product
org.eclipse.epp.package.php.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms256m
-Xmx512m

 

       启动Eclipse,打开首选项,弹出首选项配置窗口,依次进行如下的配置:

 

1.  配置PHP解析器
PHP开发环境搭建(基于Eclipse+Apache+Xdebug)_第1张图片
 点击添加(或者编辑) PHP开发环境搭建(基于Eclipse+Apache+Xdebug)_第2张图片
 
2.  配置Eclipse中特定PHP版本对应的解析器

 
PHP开发环境搭建(基于Eclipse+Apache+Xdebug)_第3张图片
 

3.  配置可供远程调试的Apache服务器网址


PHP开发环境搭建(基于Eclipse+Apache+Xdebug)_第4张图片
 

4.  添加要在远程服务器上运行或调试的PHP项目


PHP开发环境搭建(基于Eclipse+Apache+Xdebug)_第5张图片
 

5.  配置XDebug调试器:XDebug监听的端口,使用多Session,允许的Session范围


PHP开发环境搭建(基于Eclipse+Apache+Xdebug)_第6张图片
 

6.  Eclipse调试默认选项配置


PHP开发环境搭建(基于Eclipse+Apache+Xdebug)_第7张图片
 

 

       完

       2014/02/18 01:33

       转载请注明出处!!!

你可能感兴趣的:(eclipse)