Home php教程 php手册 详解Zend Debugger安装全过程

详解Zend Debugger安装全过程

Jun 13, 2016 am 11:12 AM
debugger zend Install us technology yes of programming Detailed explanation debug debugger part important

调试技术是我们编程中不可或缺的重要部分,调试器是每个IDE环境都必备的组件。既然如此,Zend Studio的集成环境拥有一个调试器也就是理所当然的事情了,但是,该调试器在配置使用起来,其显示出来的强劲功能一定会让你惊叹不已!

事实上,Zend Studio(后面简称ZDE)的调试功能分为内部调试和远程调试。内部调试是用ZDE内置的PHP(有4、5两个版本)进行的代码初步调试,我们把重点放在远程调试上,因为它可以完全模拟一个真实的运行环境。

远程调试需要服务器端的组件支持,我们今天的内容就是怎么来安装这个服务器端调试环境,用到的调试组件是Zend Debugger,它是轻便而且够用的,在撰写本文时,其最新版本是5.2.14,与网络上广为流传的5.2.10版略有更新。我的服务器是windows下的apache,因此我就下载了windows版的Zend Debugger,下来的压缩包大约2.1M,有个readme.txt,我觉得有必要看哈子:

<ol class="dp-xml">
<li class="alt"><span><span>Zend Debugger installation instructions  </span></span></li>
<li><span>—————————————  </span></li>
<li class="alt"><span>1. Locate ZendDebugger.so or ZendDebugger.dll file that is compiled for the correct version of PHP   </span></li>
<li><span>(4.3.x, 4.4.x, 5.0.x, 5.1.x, 5.2.x) in theappropriate directory.  </span></li>
<li class="alt"><span> </span></li>
<li><span>2. Add the following line to the php.ini file:  </span></li>
<li class="alt">
<span>Linux and Mac OS X: </span><span class="attribute">zend_extension</span><span>=/full/path/to/ZendDebugger.so  </span>
</li>
<li>
<span>Windows: </span><span class="attribute">zend_extension_ts</span><span>=/full/path/to/ZendDebugger.dll  </span>
</li>
<li class="alt">
<span>Windows non-tread safe: </span><span class="attribute">zend_extension</span><span>=/full/path/to/ZendDebugger.dll  </span>
</li>
<li><span>(*) the windows non-thread safe is used only with Zend Core 2.0  </span></li>
<li class="alt"><span> </span></li>
<li><span>3. Add the following lines to the php.ini file:  </span></li>
<li class="alt">
<span class="attribute">zend_debugger.allow_hosts</span><span>=</span><span class="tag"><span class="tag-name">ip_addresses</span><span class="tag">></span><span> </span></span>
</li>
<li>
<span class="attribute">zend_debugger.expose_remotely</span><span>=</span><span class="attribute-value">always</span><span>   </span>
</li>
<li class="alt"><span> </span></li>
<li><span>4. Place dummy.php file in the document root directory.  </span></li>
<li class="alt"><span> </span></li>
<li><span>5. Restart web server. </span></li>
<li> </li>
</ol>
Copy after login

这里已经非常详细的讲了安装方法了,那我就以我晦涩的语言再描述一遍吧,以下是压缩包内所有文件的列表:

<ol class="dp-xml">
<li class="alt"><span><span>ZendDebugger-5.2.14RC9-cygwin_nt-i386md5  </span></span></li>
<li><span>ZendDebugger-5.2.14RC9-cygwin_nt-i386Inventory.xml  </span></li>
<li class="alt"><span>ZendDebugger-5.2.14RC9-cygwin_nt-i3864_3_x_comp  </span></li>
<li><span>ZendDebugger-5.2.14RC9-cygwin_nt-i3864_3_x_compZendDebugger.dll  </span></li>
<li class="alt"><span>ZendDebugger-5.2.14RC9-cygwin_nt-i3864_4_x_comp  </span></li>
<li><span>ZendDebugger-5.2.14RC9-cygwin_nt-i3864_4_x_compZendDebugger.dll  </span></li>
<li class="alt"><span>ZendDebugger-5.2.14RC9-cygwin_nt-i3865_0_x_comp  </span></li>
<li><span>ZendDebugger-5.2.14RC9-cygwin_nt-i3865_0_x_compZendDebugger.dll  </span></li>
<li class="alt"><span>ZendDebugger-5.2.14RC9-cygwin_nt-i3865_1_x_comp  </span></li>
<li><span>ZendDebugger-5.2.14RC9-cygwin_nt-i3865_1_x_compZendDebugger.dll  </span></li>
<li class="alt"><span>ZendDebugger-5.2.14RC9-cygwin_nt-i3865_2_x_comp  </span></li>
<li><span>ZendDebugger-5.2.14RC9-cygwin_nt-i3865_2_x_compZendDebugger.dll  </span></li>
<li class="alt"><span>ZendDebugger-5.2.14RC9-cygwin_nt-i3865_2_x_nts_comp  </span></li>
<li><span>ZendDebugger-5.2.14RC9-cygwin_nt-i3865_2_x_nts_compZendDebugger.dll  </span></li>
<li class="alt"><span>ZendDebugger-5.2.14RC9-cygwin_nt-i386dummy.php  </span></li>
<li><span>ZendDebugger-5.2.14RC9-cygwin_nt-i386README.txt </span></li>
<li> </li>
</ol>
Copy after login

解压出合适的也就是和你当前php的版本对应的Zend Debugger版本,我的php版本是5.2.5,因此我就把5_2_x_comp给拖出来了(至于5_2_x_nts_comp指的是non-tread safe,没有明白具体用途,也就不妄用了),我将5_2_x_compZendDebugger.dll移动到D:myserverZendDebugger5_2_xZendDebugger.dll,将压缩包中的dummy.php解压到web根目录,我这里的apache的DocumentRoot设置在D:/myserver/wwwroot,就拷贝dummy.php到D:myserverwwwroot,然后修改php.ini,加入了这些内容:

<ol class="dp-xml">
<li class="alt"><span><span class="attribute">zend_extension_ts</span><span>=</span><span class="attribute-value">D</span><span>:/myserver/ZendDebugger/5_2_x/ZendDebugger.dll  </span></span></li>
<li>
<span class="attribute">zend_debugger.allow_hosts</span><span>=</span><span class="attribute-value">127</span><span>.0.0.1/32,192.168.1.88/24  </span>
</li>
<li class="alt">
<span class="attribute">zend_debugger.expose_remotely</span><span>=</span><span class="attribute-value">always</span>
</li>
<li class="alt"><span>  </span></li>
</ol>
Copy after login

然后重启apache,在略微的等待之后,我们输入phpinfo()查看成功与否?


Statement of this Website
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

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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use LeakSanitizer to debug C++ memory leaks? How to use LeakSanitizer to debug C++ memory leaks? Jun 02, 2024 pm 09:46 PM

How to use LeakSanitizer to debug C++ memory leaks? Install LeakSanitizer. Enable LeakSanitizer via compile flag. Run the application and analyze the LeakSanitizer report. Identify memory allocation types and allocation locations. Fix memory leaks and ensure all dynamically allocated memory is released.

More than just 3D Gaussian! Latest overview of state-of-the-art 3D reconstruction techniques More than just 3D Gaussian! Latest overview of state-of-the-art 3D reconstruction techniques Jun 02, 2024 pm 06:57 PM

Written above & The author’s personal understanding is that image-based 3D reconstruction is a challenging task that involves inferring the 3D shape of an object or scene from a set of input images. Learning-based methods have attracted attention for their ability to directly estimate 3D shapes. This review paper focuses on state-of-the-art 3D reconstruction techniques, including generating novel, unseen views. An overview of recent developments in Gaussian splash methods is provided, including input types, model structures, output representations, and training strategies. Unresolved challenges and future directions are also discussed. Given the rapid progress in this field and the numerous opportunities to enhance 3D reconstruction methods, a thorough examination of the algorithm seems crucial. Therefore, this study provides a comprehensive overview of recent advances in Gaussian scattering. (Swipe your thumb up

Revolutionary GPT-4o: Reshaping the human-computer interaction experience Revolutionary GPT-4o: Reshaping the human-computer interaction experience Jun 07, 2024 pm 09:02 PM

The GPT-4o model released by OpenAI is undoubtedly a huge breakthrough, especially in its ability to process multiple input media (text, audio, images) and generate corresponding output. This ability makes human-computer interaction more natural and intuitive, greatly improving the practicality and usability of AI. Several key highlights of GPT-4o include: high scalability, multimedia input and output, further improvements in natural language understanding capabilities, etc. 1. Cross-media input/output: GPT-4o+ can accept any combination of text, audio, and images as input and directly generate output from these media. This breaks the limitation of traditional AI models that only process a single input type, making human-computer interaction more flexible and diverse. This innovation helps power smart assistants

PHP Debugging Errors: A Guide to Common Mistakes PHP Debugging Errors: A Guide to Common Mistakes Jun 05, 2024 pm 03:18 PM

Common PHP debugging errors include: Syntax errors: Check the code syntax to make sure there are no errors. Undefined variable: Before using a variable, make sure it is initialized and assigned a value. Missing semicolons: Add semicolons to all code blocks. Function is undefined: Check that the function name is spelled correctly and make sure the correct file or PHP extension is loaded.

How to debug PHP asynchronous code How to debug PHP asynchronous code May 31, 2024 am 09:08 AM

Tools for debugging PHP asynchronous code include: Psalm: a static analysis tool that can find potential errors. ParallelLint: A tool that inspects asynchronous code and provides recommendations. Xdebug: An extension for debugging PHP applications by enabling a session and stepping through the code. Other tips include using logging, assertions, running code locally, and writing unit tests.

The Key to Coding: Unlocking the Power of Python for Beginners The Key to Coding: Unlocking the Power of Python for Beginners Oct 11, 2024 pm 12:17 PM

Python is an ideal programming introduction language for beginners through its ease of learning and powerful features. Its basics include: Variables: used to store data (numbers, strings, lists, etc.). Data type: Defines the type of data in the variable (integer, floating point, etc.). Operators: used for mathematical operations and comparisons. Control flow: Control the flow of code execution (conditional statements, loops).

How to debug input/output errors in a C++ program? How to debug input/output errors in a C++ program? May 31, 2024 pm 06:11 PM

Methods for debugging C++ input/output errors include checking variable values, using exception handling, and checking stream status. These techniques help you find and resolve I/O errors quickly and accurately, ensuring that your program handles input and output correctly.

Java Made Simple: A Beginner's Guide to Programming Power Java Made Simple: A Beginner's Guide to Programming Power Oct 11, 2024 pm 06:30 PM

Java Made Simple: A Beginner's Guide to Programming Power Introduction Java is a powerful programming language used in everything from mobile applications to enterprise-level systems. For beginners, Java's syntax is simple and easy to understand, making it an ideal choice for learning programming. Basic Syntax Java uses a class-based object-oriented programming paradigm. Classes are templates that organize related data and behavior together. Here is a simple Java class example: publicclassPerson{privateStringname;privateintage;

See all articles