Categories: Debugging

How to Configure XDebug Debugger for Zend Studio

I have tried to configure many a times, Zend studio with XDebug due to various reasonss, most common being my computer getting crashed. And, everytime, I found myself reinventing the wheel after I got exhausted to figure out if I noted the configurations somewhere.

This blog is for me to refer back whenever my laptop crashes again and I have to reconfigure Zend Studio, PHP and XDebug.

Following entities will change:

  1. Downloading of XDebug DLL and placing the same in ext folder of php installation
  2. PHP INI file
  3. Zend Studio Debug Preferences

Lets go over each one of them in detail:

  • Download relevant XDebug dll from thos page. http://xdebug.org/download.php. The downloadable depends upon php version and windows configuration. Mine is 64 bit, PHP 5.3 So, I downloaded http://xdebug.org/files/php_xdebug-2.2.1-5.3-vc9-x86_64.dll. Just FYI, if you try downloading incompatible version, there are chances of exception when you try to start HTTPD. Once downloaded, place the dll file in <PHP_Installation_HOME>/ext
  • Put following configuration in your PHP INI file:

[XDEBUG]
zend_extension=”D:\PHP\ext\php_xdebug-2.2.1-5.3-vc9-x86_64.dll”
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_autostart=1
xdebug.remote_mode=req

To know more about xdebug remote options, visit the page http://xdebug.org/docs/remote.

  • Do the following with Zend Studio:
a. Access Windows/Preferences in Zend Studio.
b. Go to PHP/Debug
c. In PHP/Debug window, 1. change the debugger to XDebug by selecting from drop down list. 2. change the server configuration to point to your local server. I fixed it to localhost:7001. You do that by clicking on “PHP Servers…” link, and then creating an entry for localhost:7001. Further to that, you click on localhost:7001 and set the information for Base URL and Local Web Root 3.You set the configuration for local php installation. This is done by going within link “PHP Executables…” where you create a new entry and may name it as PHP Local. Then you double click on the new entry and enter the details for following: a> Name b> Executable Path c> PHP ini file d> SAPI Type (select CLI) e> PHP Debugger (select XDebug).
Refer following diagram that represents above:

zendstudio xdebug configuration

4. There is one additional step that one needs to do. You need to access Windows/Preferences/PHP/Debig/Installed Debuggers and double click on XDebug entry. Once the windows open up select “any” from “Access remote session (JIT)” dropdown.
Once you are done with above steps, you are all set. Shut down Zend studio, and Http server. Restart server and zend studio and try debugging a hello world php file. You should be all set.
Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking.

View Comments

Share
Published by
Ajitesh Kumar

Recent Posts

Retrieval Augmented Generation (RAG) & LLM: Examples

Last updated: 25th Jan, 2025 Have you ever wondered how to seamlessly integrate the vast…

1 week ago

How to Setup MEAN App with LangChain.js

Hey there! As I venture into building agentic MEAN apps with LangChain.js, I wanted to…

2 weeks ago

Build AI Chatbots for SAAS Using LLMs, RAG, Multi-Agent Frameworks

Software-as-a-Service (SaaS) providers have long relied on traditional chatbot solutions like AWS Lex and Google…

2 weeks ago

Creating a RAG Application Using LangGraph: Example Code

Retrieval-Augmented Generation (RAG) is an innovative generative AI method that combines retrieval-based search with large…

3 weeks ago

Building a RAG Application with LangChain: Example Code

The combination of Retrieval-Augmented Generation (RAG) and powerful language models enables the development of sophisticated…

3 weeks ago

Building an OpenAI Chatbot with LangChain

Have you ever wondered how to use OpenAI APIs to create custom chatbots? With advancements…

3 weeks ago