search
HomeBackend DevelopmentPHP TutorialEclipse中php插件安装及Xdebug配置的使用详解_PHP

由于在android开发团队,又迷上了android自动化测试,所有一直使用Eclipse做为开发工具。以前使用Zend Studio 9.0.1做为PHP的开发工具,现在放弃使用Zend Studio 9.0.1了,有了Eclipse的PHP开发插件,所以计划以后统一使用Eclipse开发。这样方便。在Eclipse上安装PHP插件非常简单,可以到http://sourceforge.net/project/showfiles.php?group_id=57621  下载插件。把下载到的插件解压。并把解压后的features的文件夹里面的文件放在eclipse的features文件夹里。解压后的plugins里面的文件放在eclipse的plugins文件夹里即可。

配置Eclipse对PHP的调试功能

下面就是详细过程。

下载并安装相应软件

Jdk是绝对必要的,它是跑Eclipse的最基本要求,到这里下载。

Eclipse整合了PHP开发插件版本在这里下载,选择对应自己的操作系统的版本后下载到本地即可。

XDebug到这里下载,请根据自己PHP的版本选择相应文件下载。

插曲:如何选择PHP 5.2.17.17版本的XDebug

1、打开http://www.xdebug.org/find-binary.php,将你phpinfo时的显示信息的源码COPY到输入框中,然后提交,XDebug将告诉你应该下载哪个版本。

2、进入http://www.xdebug.org/download.php页面,你会看到很多版本以及相同版本的不同版本。这里就有一个疑惑,VC9、VC6、TS这些是什么意思?如果你有疑惑,请访问:PHP中ts和nts版本 - vc6和vc9编译版本的区别
3、得知,PHP 5.2.17.17版本的XDebug应该下载Xdebug 2.1.2版本的PHP 5.2 VC6 TS。至于32位系统或是64位系统,这就取决于你的机器了。

由于

服务器任意,推荐使用Apache+PHP模块安装方式。

安装软件

首先安装JDK后,安装好后请按照下面步骤配置系统变量

其次是安装Eclipse,Eclipse不用怎么设置,只要设置好了JDK,Eclipse放置于任何位置都可以直接运行

Xdebug安装

将文件放到php/ext文件夹下即可

XDebug配置

打开php.ini

在最后一行加入以下配置代码,配置说明已经做好注释
复制代码 代码如下:
;xdebug配置
[Xdebug]

;载入Xdebug
extension=php_xdebug-2.1.2-5.2-vc6.dll
;开启自动跟踪
xdebug.auto_trace = On
;开启异常跟踪
xdebug.show_exception_trace = On
;开启远程调试自动启动
xdebug.remote_autostart = On
;开启远程调试
xdebug.remote_enable = On
;收集变量
xdebug.collect_vars = On
;收集返回值
xdebug.collect_return = On
;收集参数
xdebug.collect_params = On

保存后重启服务器即可。

此时用phpinfo()查看php配置,如果安装成功,应该可以看到以下信息:

下面说说Eclipse的配置

1、通过Eclipse启动、停止、重启apache服务失败。

原因:

a、配置不正确,正确配置如下图所示:

2、由于我自己根据phpstudy2011B封装的PHP集成环境,apache的服务名称为apache2,但是Eclipse默认启动的是apache2.2,所以我将注册apache服务的名称改为apache2.2后正常。

Eclipse打开CI,出现N多个警告

类似如下信息:

Description Resource Path Location Type The local variable $_ci_path may not have been initialized Loader.php /CI/system/core line 752 PHP Problem

如下图所示:


大概意思是局部变量未初始化,就是没有赋初始值。这个在PHP中是很常见的。所以即然给出这么多个warnings,看着有点不舒服。那么就去掉吧

解决办法是:


将上面红色选中内容由原来的warning改为Ignore即可。

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Explain the concept of session locking.Explain the concept of session locking.Apr 29, 2025 am 12:39 AM

Sessionlockingisatechniqueusedtoensureauser'ssessionremainsexclusivetooneuseratatime.Itiscrucialforpreventingdatacorruptionandsecuritybreachesinmulti-userapplications.Sessionlockingisimplementedusingserver-sidelockingmechanisms,suchasReentrantLockinJ

Are there any alternatives to PHP sessions?Are there any alternatives to PHP sessions?Apr 29, 2025 am 12:36 AM

Alternatives to PHP sessions include Cookies, Token-based Authentication, Database-based Sessions, and Redis/Memcached. 1.Cookies manage sessions by storing data on the client, which is simple but low in security. 2.Token-based Authentication uses tokens to verify users, which is highly secure but requires additional logic. 3.Database-basedSessions stores data in the database, which has good scalability but may affect performance. 4. Redis/Memcached uses distributed cache to improve performance and scalability, but requires additional matching

What is the full form of PHP?What is the full form of PHP?Apr 28, 2025 pm 04:58 PM

The article discusses PHP, detailing its full form, main uses in web development, comparison with Python and Java, and its ease of learning for beginners.

How does PHP handle form data?How does PHP handle form data?Apr 28, 2025 pm 04:57 PM

PHP handles form data using $\_POST and $\_GET superglobals, with security ensured through validation, sanitization, and secure database interactions.

What is the difference between PHP and ASP.NET?What is the difference between PHP and ASP.NET?Apr 28, 2025 pm 04:56 PM

The article compares PHP and ASP.NET, focusing on their suitability for large-scale web applications, performance differences, and security features. Both are viable for large projects, but PHP is open-source and platform-independent, while ASP.NET,

Is PHP a case-sensitive language?Is PHP a case-sensitive language?Apr 28, 2025 pm 04:55 PM

PHP's case sensitivity varies: functions are insensitive, while variables and classes are sensitive. Best practices include consistent naming and using case-insensitive functions for comparisons.

How do you redirect a page in PHP?How do you redirect a page in PHP?Apr 28, 2025 pm 04:54 PM

The article discusses various methods for page redirection in PHP, focusing on the header() function and addressing common issues like "headers already sent" errors.

Explain type hinting in PHPExplain type hinting in PHPApr 28, 2025 pm 04:52 PM

Article discusses type hinting in PHP, a feature for specifying expected data types in functions. Main issue is improving code quality and readability through type enforcement.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.