Apr 29th, 2009 | 3 Comments

Following are the steps to debug your PHP code using Zend Debugger on Windows machine via WAMP,

1. Download http://downloads.zend.com/pdt/server-debugger/ZendDebugger-5.2.12-cygwin_nt-i386.zip or check for new version at http://downloads.zend.com/pdt/server-debugger/

2. Locate ZendDebugger.so or ZendDebugger.dll file that is compiled for the
correct version of PHP (4.3.x, 4.4.x, 5.0.x, 5.1.x, 5.2.x) in the
appropriate directory.

Get debugger from folder called “5_2_x_comp” or you may receive some errors about a non-thread   safe debugger if you take it from “5_2_x_nts_comp”

3. Configure php.ini for output buffering when debugging

implicit_flush = On ; Default: Off
output_buffering
= Off ; Default: 4096

4. Add the following line to the php.ini file:
Linux and Mac OS X:     zend_extension=/full/path/to/ZendDebugger.so
Windows:                zend_extension_ts=/full/path/to/ZendDebugger.dll
Windows non-tread safe: zend_extension=/full/path/to/ZendDebugger.dll

(*) the windows non-thread safe is used only with Zend Core 2.0

Note:
if you don’t have a Zend section you may add this at the end of the fie.
correct the php path if it is not installed in c:\wamp\www and extension directory.

5. Add the following lines to the php.ini file:
zend_debugger.allow_hosts=<ip_addresses>
zend_debugger.expose_remotely=always

This willl allow connections from local host and from your local network to addresses which start        with 192.168.1.

6. Place dummy.php file in the document root directory.

7. Restart web(Apache/Wamp) server.

8. To activate the debugger please use following query string:
?start_debug=1&debug_port=10000&debug_fastfile=1&debug_host=192.168.1.59%2C127.0.0.1

Note:
above statement assumes that the debugger listens at 192.168.0.2 or 127.0.0.1 on port 10000.

Here are some of the screen shots from my debugger,

Breakpoint in Zend

Breakpoint in Zend

This is watch window in Zend which will show the values of the variables, you need to add the variable to the watch window to view its values.

Watch Window in Zend

Watch Window in Zend

This is the output window that shows the output generated by the code executed till now,

Output Window in Zend

Output Window in Zend

Hope this helps :-)

Written by Ajay Matharu

April 29th, 2009 at 10:31 am

Apr 20th, 2009 | 1 Comment

To add an unknown extension in IIS for your IIS to detect that extension perform the following steps.

To define a MIME type for a specific extension, follow these steps:

  1. Open the IIS Microsoft Management Console (MMC), right-click the local computer name, and then click Properties.
  2. Click MIME Types.
  3. Click New.
  4. In the Extension box, type the file name extension that you want (for example, .pdb).
  5. In the MIME Type box, type application/octet-stream.
  6. Apply the new settings. Note that you must restart the World Wide Web Publishing Service or wait for the worker process to recycle for the changes to take effect. In this example, IIS now serves files with the .pdb extension.

Written by Ajay Matharu

April 20th, 2009 at 7:54 pm