I have to admit that I am extremely frustrated at this point. I have read so many help guides and followed so many instructions on just how to get debugging working with PHP and I have had absolutely no success. I've tried Eclipse, Netbeans, Aptana, Zend Studio, and Nusphere. None of them, except Zend could I get to work but I didn't want to pay for it.

I was overjoyed to finally find a tool that just sets everything up for you inside my favorite dev IDE Visual Studio.

Unfortunately I have never once gotten PHP debugging to work with this product. Not locally with the built-in debugger and not remotely. I LOVE all of the features of this product. I love being able to use DevStudio to develop my websites but the reason I will buy VS.PHP is if and ONLY if I can get debugging working.

I have both VS 2008 and VS 2010 Beta 2 installed. I have tried version 2.7 for 2008 and 2.8 for both 2008 and 2010. I have tried in-proc and cgi usage of php. I have set and reset the php.ini variables exactly the way I am supposed to according to the XDebug site and DBG site docs, trying every hint or suggestion I could find. I have read and re-read every single post on these support forums regarding how to get this to work. I am so incredibly frustrated with reading how everyone else seems to be able to get debugging to work and yet I've been trying now for well over 3 months to get a reliable php debugging environment and have never been able to, especially remotely.

Javascript debugging works great. XDEBUG IS running correctly because it shows up in phpinfo and I can see the debug edits to my webpages when it catches errors. I simply cannot get any ide to stop at a *&)(*&) breakpoint. Grrr.

Sorry, but I hope you get some understanding of my frustration. I have 14 years of experience developing software and I have never had this kind of problem getting a tool to work correctly. I figured out how to get ASP debugging working in 2000 just by reading online docs. Anyone who has tried this might understand just how daunting a procedure that is. XDebug SHOULD be a piece of cake comparatively...

I am currently living on unemployment and trying to learn php/mysql development so that I can add it to my resume. Simply put, if you can help me get both remote and local debugging working I will gladly pay for this product. If not then I just cannot justify the cost if all I get is intellisense and project support from within Visual Studio.

Respectfully,

Christopher White

P.S. I can supply my php.ini and any environment information necessary. Also I have root access to all my server systems.

juanc says:

There is a php.ini option for xdebug that allows you to enable logging which can help diagnose the issue:

xdebug.remote_log=[Path to log file]

BTW, are you able to debug a simple project? Is the issue you are having specific to your own project?

Juan

profound-design says:

I will enable the logging and try a sample project. If it is something specific to my project, can you give me some hints or examples of things that might cause XDebug to fail for specific projects?

Thanks,

Christopher White
Profound Design

profound-design says:

I uninstalled VsPhp 2.8 for 2008 and reinstalled v2.8 for 2010 as an admin so it is the only version installed.

I added the line xdebug.remote_log="c:\logs\xdebug.log" and created c:logs directory.
I commented out everything in my index.php file except the line

    phpinfo();

No logs are getting created when I try to debug. I get the following error dialog:

php.exe - Entry Point Not Found

The procedure entry point mysqlnd_fetch_lengths could not be located in the dynamic link library php5ts.dll.

The odd thing about this is that I get it regardless of whether I try to load any mysql extensions and with no modules listed in the project.

Christopher White
Profound Design

profound-design says:

I uninstalled version 2.8 for VS2010 and VS2008 and installed 2.7 for VS2010. After creating a new project and importing my files and setting the recommended project settings, I was able finally able to debug using the built-in method.

I still cannot debug on my remote server. I have made sure that the extension shows up in phpinfo, my firewall is letting port 7870 through, I changed the idekey in php.ini on my remote server to vsphp and I made sure that the other settings in the xdebug section of php.ini are correct. You can see the phpinfo by browsing here.

Christopher White
Profound Design

juanc says:

Debugging in 2010 is currently broken.

profound-design says:

I think you're right. It was working yesterday but then something happened to my 2010 install. I ended up having to reinstall it and then, of course, whatever I did to get local debugging working, stopped working.

Is this a planned fix for an upcoming dev release?

Christopher White
Profound Design

juanc says:

Debugging on vs2010 is working fine on the latest build.

philljef says:

Hi I am having a similar problem
I am running Visual Studio 2008 with VS.PHP ver 2.8 (2.7 worked ok)
Using XDebug allows me to create a breakpoint and then single step for a few lines then it gets lost. It actually steps into PHP comment lines - so its like the Symbol table information is missing. The web page does load ok.
Using DBG doesn't stop on any breakpoints.
Thank Jeff

juanc says:

Could you get the xdebug log? You can enable it by adding to the php.ini:

xdebug.remote_log=[path to your log file]

shcheuk says:

I just downloaded this software yesterday. Wasted a day to get it work on my drupal 6.14. php 5.3.X

For those who want it to work in drupal, the first thing you have to do
is install apache. copy the following module to the httpd-template.conf inside the programmerfiles\VS.php folder

LoadModule asis_module "$$APACHEDIR$$/modules/mod_asis.so"
LoadModule auth_basic_module "$$APACHEDIR$$/modules/mod_auth_basic.so"
LoadModule auth_digest_module "$$APACHEDIR$$/modules/mod_auth_digest.so"
LoadModule authn_alias_module "$$APACHEDIR$$/modules/mod_authn_alias.so"
LoadModule authn_anon_module "$$APACHEDIR$$/modules/mod_authn_anon.so"
LoadModule authn_dbd_module "$$APACHEDIR$$/modules/mod_authn_dbd.so"
LoadModule authn_dbm_module "$$APACHEDIR$$/modules/mod_authn_dbm.so"
LoadModule authn_default_module "$$APACHEDIR$$/modules/mod_authn_default.so"
LoadModule authn_file_module "$$APACHEDIR$$/modules/mod_authn_file.so"
LoadModule authz_dbm_module "$$APACHEDIR$$/modules/mod_authz_dbm.so"
LoadModule authz_default_module "$$APACHEDIR$$/modules/mod_authz_default.so"
LoadModule authz_groupfile_module "$$APACHEDIR$$/modules/mod_authz_groupfile.so"
LoadModule authz_host_module "$$APACHEDIR$$/modules/mod_authz_host.so"
LoadModule authz_user_module "$$APACHEDIR$$/modules/mod_authz_user.so"
LoadModule autoindex_module "$$APACHEDIR$$/modules/mod_autoindex.so"

The reason is .htaccess of the drupal conatin a code using the ORDER command, which is a apache module of auth of some sort...I don't know exactly which one. And this module are not installed in the internal apache of vs.php

so you have to install the modules.

second is add the code to the httpd-template.conf file inside VSphp.
Why? because the option inside VS apache config template is not working...so the only is amend the template directly.

at this point you can start your debug with drupal. but the external xdebug with not break in any break point. if you start internal xdebug, you will get error in a few clicks and you will get errors once you login drupal. For DBG the break point is also not work.

xdebug..seems quite rubbish..I cannot get it works in netbean and notepad++ and komodo.

while as long as xdebug is useless, I cannot really test on vs.php

shcheuk says:

of course you have to copy the coresponding module from the standard apache installation to the vsphp apache module folder.

shcheuk says:

It seems like the error is due to my stupid act of added unknown modules...don't follow the above method...try this one:

just comment the following lines in drupal .htacess file:
#
# Order allow,deny
#

I don't know if it will works in vs2.8 as I already uninstalled it. but vs2.7 works great with drupal 6.14