views:

8409

answers:

24

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.

A: 

I enabled the extension line for php_xdebug.dll and that seems to have stopped the crashing so far.

This didn't work for me, it still crashes (XAMPP and php_xdebug-2.0.3-5.2.5.dll). I have found no solution so far.

+1  A: 

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.

A: 

It has been posted as a bug to XDebug already, but there has been no solution as yet.

+1  A: 

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.

Nikola Stjelja
This is apparently a moving target. The latest xampp doesn't seem to use Zend optimizer, but the problem persists for many, myself included.
Jerph
A: 

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

A: 

btw PhpED's dbg 3.6.8 works very stable under XAMPP

A: 
  1. Open php.ini in xampp\apache\bin folder (not in xampp\php folder).
  2. Locate extension=php_xdebug.dll line.
  3. Uncomment it.
Pavel Chuchuva
A: 

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

David
A: 

There's a Windows compatibility list available here. Seems xdebug is not supported for Vista...

fredarin
A: 

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.

ryeguy
A: 

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"
cyberhobo
You can't have both "extension=..." and "zend_extension_ts=..." else you will not get breakpoints when debugging, and you will have no idea why. Remove the extension= line, and change "zend_extension_ts" to "zend_extension".
crb
+1  A: 

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

A: 

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

this version work for me, I have not the crash in this moment, but now I can not debug because my eclipse is launching and do not debug, so I get the php_xdebug-2.0.3-5.2.5.dll version and works,but appear again this crash windows,then I will be working with this version waitting for the solution
For the Xampp users read this bug on http://bugs.xdebug.org/view.php?id=410, there is a solution...I hope this help
A: 

Still not working :/ Vista 32 bits here

A: 

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

MrFox
A: 

Hi everybody! 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

+3  A: 

Hello everyone.. 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)

Just follow this notes!

This link has helped me solve my vista-xdebug problem after months of restarting apache a few times a day.
tharkun
A: 

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"
A: 

Hi guys.

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?

A: 

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"
+1  A: 

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"

A: 

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

Vafliik
A: 

install new version of XAMPP

Vikram Phaneendra
A: 

Still not working :/ Vista on 64 bits here

elbek