Reputation:
I've installed the Windows XAMPP package on three separate computers, 2 running Windows Vista 32 bit ( 1 Ultimate / 1 Home Premium ) and 1 running Windows Vista 64 Home Premium.
After enabling xdebug in php.ini and restarting apache, viewing the default XAMPP localhost index causes apache to crash in the same way every time, reporting 'php_xdebug.dll' as the Fault Module Name.
Here's the full report from the Windows Crash Reporter thing:
Problem signature:
Problem Event Name: APPCRASH
Application Name: apache.exe
Application Version: 2.2.9.0
Application Timestamp: 4853f994
Fault Module Name: php_xdebug.dll
Fault Module Version: 2.0.3.0
Fault Module Timestamp: 47fcd9b9
Exception Code: c0000005
Exception Offset: 00008493
OS Version: 6.0.6001.2.1.0.768.3
Locale ID: 1033
Additional Information 1: a34a
Additional Information 2: c9c5f4fd744690d388ab9d5b3eb051a7
Additional Information 3: cb2e
Additional Information 4: 650bb5690556a17e911375b94d3e16f0
I've tried Googling this issue but haven't found any resolution, only reports of similar errors.
EDIT: I enabled the extension line for php_xdebug.dll and that seems to have stopped the crashing so far.
Upvotes: 10
Views: 17493
Reputation:
I'm running XAMPP for Windows Version 1.7.1 on my Win7 machine with xDebug and it works perfect.
Check if you have SP1 installed, and then follow these notes:
Find the line containing implicit_flush
and set it as follows:
implicit_flush = On
Find the section called [Zend]
and comment out all of the lines by putting a semi-colon (";") at the start of each line.
Find the line: zend_extension = "c:\xampp\php\ext\php_xdebug.dll"
and uncomment it.
Find the [XDebug]
section and uncomment all of the lines (except for the first line which is an actual comment). For Windows, it should look like the example below:
[XDebug]
;; Only Zend OR (!) XDebug
zend_extension_ts="C:\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable=true
xdebug.remote_host=localhost
xdebug.remote_port=10000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="C:\xampp\tmp"
Upvotes: 6
Reputation: 21
I was looking in internet for this issue and tried many solutions and none of them worked. I tried this configuration, just a last test and worked for me, in Eclipse change under Windows/Preferences/PHP/Debug and select Xdebug as PHP debugger.
Upvotes: 2
Reputation:
I got a solution working for Vista using a combination of the above so if this helps anyone here goes...
Eclipse Europa - Version: 3.3.2 Build id: M20080221-1800
XAMPP - win32 version 1.6.8 installer
xdebug - php_xdebug-2.0.2-5.2.5.dll
Contents of ~/xampp/apache/bin/php.ini
[Zend]
;zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
;zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer"
;zend_optimizer.enable_loader = 0
;zend_optimizer.optimization_level=15
;;zend_optimizer.license_path =
; Local Variables:
; tab-width: 4
; End:
[XDebug]
;; Only Zend OR (!) XDebug
zend_extension_ts="C:\xampp\php\ext\php_xdebug-2.0.2-5.2.5.dll"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="C:\xampp\tmp"
And the absolutely crucial bit for me....
;extension=php_xdebug-2.0.2-5.2.5.dll
That's right ! Comment out the above line.
Hope this helps
Upvotes: 1
Reputation: 7713
I just installed xampp 1.7.4 using the zip file. With exception of 1.7.4 having a bug if you're using the .exe file, it works nicely with the provided xdebug file that comes with the package.
I also used the Joomla tutorial to setup debugging. All seems to be working well now.
Upvotes: 0
Reputation: 11
May be my expirience will be useful: I use XAMPP 1.7.4, apache always crashes when trying to debug php page from eclipse with xdebug 2.1.0... I replaced xdebug 2.1.0 with xdebug 2.0.5 and now all goes right
Upvotes: 1
Reputation: 11
Solution at http://community.activestate.com/forum-topic/apache-crashes#comment-9812 Obviousliy buggy apache module - runs php as CGI.
Upvotes: 1
Reputation: 11
I got it working using Xampp 1.7.3 (php 5.3.1) on Windows 7 Ultimate 6.1.7600. Following the author's post edit of un-commenting the line: zend_extension = C:\xampp\php\ext\php_xdebug.dll
in xampp\php\php.ini, i managed to get the apache http server to stop crashing!
Turns out Xampp comes with its own version of xdebug and I never even needed to download anything in the first place. You just need to un-comment the aforementioned line and enable the other features of xdebug you want in the [xdebug] section of php.ini.
The version of xdebug that came with my install of Xampp is 2.0.6-dev. Hope this helps!
EDIT: forgot to mention that I am running the x64 flavor of windows 7 :P
Upvotes: 1
Reputation: 481
I had the same problem. It was resolved by latest version of xdebug (2.0.6). It is stil in dev mode, but for me it is more stable than previous releases :)
It is a part of XAMPP 1.7.3beta http://www.apachefriends.org/en/xampp-beta.html
Enabling xdebug was only matter of uncommenting one line in xampp/php/php.ini
HTH
Upvotes: 1
Reputation: 1993
This might be helpful to someone. I had a repeatable Apache crash when debugging PHP web pages with Eclipse and XDebug and tried all kinds of reinstalls and PHP.INI changes and eventually figured out that my problem related to the use of a duplicate variable name in seperate files. One file included the other and both had (let's say) $foo. Once I renamed $foo to $newfoo in the second file, and restarted Apache, I got rid of my crashes.
Also, kind of related, I was never able to get the PHP.INI file to work as is widely documented here and elsewhere. I had to remove the _ts from zend-extension, see below, to get the phpinfo() text: with Xdebug v2.0.5, Copyright (c) 2002-2008, by Derick Rethans.
XAMPP 1.7.2 (using php_xdebug.dll that came with) PHP 5.3.0
Here is my PHP.INI file snippet:
xdebug.remote_enable=1 xdebug.remote_host="127.0.0.1" xdebug.remote_port=9000 xdebug.remote_handler="dbgp" zend_extension="C:\xampp\php\ext\php_xdebug.dll"
Upvotes: 1
Reputation:
Eugen has it right for me.
Go download the non thread safe dll at http://xdebug.org/download.php
i.e.
5.2 VC6 Non-thread-safe (32 bit)
save it into your \xampp\php\ext
directory
open your php.ini
C:\xampp\php\php.ini
Scroll to the bottom and find [XDebug]
and replace
zend_extension_ts="C:\xampp\php\ext\php_xdebug.dll"
with this
zend_extension="C:\xampp\php\ext\php_xdebug-2.0.5-5.2-nts.dll"
so it looks like this:
[XDebug]
;; Only Zend OR (!) XDebug
zend_extension="C:\xampp\php\ext\php_xdebug-2.0.5-5.2-nts.dll"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="C:\xampp\tmp"
Upvotes: 1
Reputation:
there is a thread safety problem with XDebug on Vista, I had the same problem using IIS7 with PHP as an ISAPI module, the server crashed randomly if the xdebug.dll was loaded, then I found an article that described that PHP+XDebug (on Vista) should be run in a single-thread-mode.
I got it to work following way:
A non-thread-safe PHP version, a non-thread-safe xdebug.dll for your PHP version, in php.ini it shuold be loaded as zend_extension="C:/FullPathToXdebugDll" (without "_ts"!), running php in CGI (or better FastCGI) mode. (CGI/FastCGI forces it to be single-threaded).
here the link to the article: http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/
Now I'm looking for a possibility to do the same thing with Xampp or InstantRails (or something like that) to run it on my notebook (Vista Home Premium has no IIS), but i dont know how to force apache to run in a single-thread-mode, does someone know how to do that?
Upvotes: 1
Reputation:
Ran across this doing a Google search for why XDebug was crashing my WAMP Apache. I just upgraded to a Vista 64 laptop with the current version of WAMP(2.0), and here is what I put in my php.ini to make the crashing stop.
I am using NetBeans as my IDE, and debugging works just fine.
First off, comment out in your active php.ini.
;extension=php_xdebug-2.0.4-5.2.8.dll
Then add this to the bottom of your active php.ini (Adjust your directories and xdebug filename accordingly.)
[XDebug]
; Only Zend OR (!) XDebug
zend_extension_ts="C:/Program Files (x86)/wamp/bin/php/php5.2.9-2/ext/php_xdebug-2.0.4-5.2.8.dll"
xdebug.remote_enable=on
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=0
xdebug.profiler_output_dir="C:/Program Files (x86)/wamp/tmp"
Upvotes: 1
Reputation:
I'm using Vista x86 SP1, XAMPP 1.6.8 and php_xdebug-2.0.2-5.2.5.dll plugin. Recently I've noticed that when I run xampp-control.exe through right-click => run as administrator, all crashes pass away :) Sometimes occurs but very rare and I can use debugger in Eclipse PDT. Check out my sollution
Upvotes: 0
Reputation: 3253
According to this Issue I suggest you disable these two lines in your php.ini
:
;xdebug.profiler_enable=1
;xdebug.profiler_output_dir="(temp_dir)"
worked for me
Upvotes: 0
Reputation:
Thanks for your comment, I resolved the problem using this version of php_xdebug-2.0.2-5.2.5.dll, work for me on Windows Vista Business 64bit......the php.ini configuration is the same, just to use this xdebug dll version.......thanks
Hermes
Upvotes: 0
Reputation: 656
Matty's answer helped me keep Apache from crashing, but I can't get a remote debugging session working. Whenever I try to step through the code, my client complains that the connection has been closed, so still no debugging for me yet.
But, in case it's useful to anyone else, here are the edits I made to the apache\bin\php.ini file in XAMPP 1.6.8 (the same worked in 1.7.0). Line 671:
extension=php_xdebug-2.0.4-5.2.8.dll
and line 1297 I added:
[XDebug]
;; Only Zend OR (!) XDebug
zend_extension_ts="\xampplite\php\ext\php_xdebug-2.0.4-5.2.8.dll"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="\xampplite\tmp"
xdebug.trace_output_dir="\xampplite\tmp"
Upvotes: 1
Reputation: 66851
I had this problem too. Downgrade your installation of XAMPP to the previous version, and the bug is fixed. I'm not sure what exactly was causing it, but this is the only solution known at the moment. You can get the second most recent version here.
Upvotes: 1
Reputation: 784
There's a Windows compatibility list available here. Seems xdebug is not supported for Vista...
Upvotes: 1
Reputation: 18281
There can only be typically ONE engine level extension for PHP. I am currently using the latest xampp lite package on my machine with xdebug and its fine.
Using grep ( gnu32 package for windows ) or some other text filter, get a list of every line in your PHP file that has the word "extension" in it and make sure you know exactly which packages are being used for your wamp stack.
Next up. xdebug works better as a engine extension, but as a couple people have pointed out it can be used as a regular extension as well. The loss of performance between engine and normal extensions is that profiling isn't nearly as accurate, editor -> server debugging isn't reliable and doesn't appear to work on anything but explicit xdebug_break() statements.
Last couple things to try is to call php -i and pipe that to a text file. If it crashes there, then its time to go to more drastic measures. Find all php.ini files on your windows machine and one by one rename them to something like php.disabled.ini or disabled_php.ini and try the php -i call again. Its very possible you've got a php.ini file lurking in some strange locations like c:\ | c:\windows\ | c:\windows\system or somewhere else that takes precedence in the path then what your expecting it to be xammp\apache\bin
Upvotes: 1
Reputation: 22465
Upvotes: 1
Reputation:
make sure you have the latest version of xdebug? I had the same issues with an oldish version of xampp, downloaded the latest .dll of xdebug, changed mapping in php.ini, and worked a treat.
Took me several hours to get though .. grr
Upvotes: 1
Reputation: 3687
I found the solution for this problem. You can find it here: http://wiki.mpsoftware.dk/index.php?title=Tutorial_on_how_to_configure_Xdebug_to_work_with_phpDesigner_2008
The problem is that XDebug is not compatible with Zend optimizer so you need to comment all sections under the [Zend] section.
Upvotes: 1
Reputation: 11
Via some other forum I found a possible hint - while generally apache on xampp uses the php.ini that is inside the apache/bin directory, some modules don't. So I toyed around with the php.ini in that directory (simply moving it out of harms way worked for me so far, as in renaming/deleting it). Might wanna give it a try at least.
Upvotes: 1