Jump to content

what debugger


jimfog

Recommended Posts

I am using netbeans to develop PHP applications and now i am in search of a good debugger. In the Netbeans site Xdebug is proposed as a debugger but i am interested also on what you have to say. Thanks.

Link to comment
Share on other sites

Since i do not use zend ide i will use xdebug

Link to comment
Share on other sites

I just run this tool here http://xdebug.org/wizard.php and here is the message i get: The compiler (MS VC6) that this PHP was build with, is no longer supported. Please upgrade to a version that was built with MS VC9. It seems there is a problem with the compiler and i cannot install xdebug unless upgrading. The question is how i upgrade the compiler, do i just upgrade PHP(i have PHP 5.3 running on XAMPP)? I have never upgraded PHP on XAMP, how am i going to do it? Do i just unzip in the specified folder? P.S One last question, since PHP is interpreted why a compiler is needed?

Link to comment
Share on other sites

PHP - the language - is interpreted by an interpreter.PHP - the interpreter - is written in the C language, which is compiled.What you have on your machine is a version of the PHP interpreter. That interpreter itself is considered to be "compiled/built" since it was produced by a compiler. You don't have a compiler.So, when the page says

The compiler (MS VC6) that this PHP was build with
It's referring to the thing that produced the interpreter.You don't upgrade the compiler, since you don't have one. You upgrade the interpreter with another one that was generated by another compiler.Since you're currently using XAMPP, it might be a better idea to uninstall it before you continue, and then install Apache separately. A compilation of Apache built with VC9 that PHP recommends is ApacheLounge's compilation. Installation instructions are found within the zip archive.PHP builds are found on a separate page on the PHP site. Since you'll be using ApacheLounge's build, you'll need the "VC9 x86 Thread Safe" build. The "VC9" part is important for XDebug, and the "Thread Safe" part is important for Apache.
Link to comment
Share on other sites

PHP - the language - is interpreted by an interpreter.PHP - the interpreter - is written in the C language, which is compiled. What you have on your machine is a version of the PHP interpreter. That interpreter itself is considered to be "compiled/built" since it was produced by a compiler. You don't have a compiler. So, when the page says It's referring to the thing that produced the interpreter. You don't upgrade the compiler, since you don't have one. You upgrade the interpreter with another one that was generated by another compiler.
Good explanation
Since you're currently using XAMPP, it might be a better idea to uninstall it before you continue, and then install Apache separately. A compilation of Apache built with VC9 that PHP recommends is ApacheLounge's compilation. Installation instructions are found within the zip archive. PHP builds are found on a separate page on the PHP site. Since you'll be using ApacheLounge's build, you'll need the "VC9 x86 Thread Safe" build. The "VC9" part is important for XDebug, and the "Thread Safe" part is important for Apache.
Are you sure this is the way to go, in other words you are saying to get rid of XAMPP, yes, but what if XAMP offers some features that are really needed and this ad hoc solution you propose does not. I have set 3 local sites with XAMPP and I am intimidated having to set up these again "manually". I am just asking.
Link to comment
Share on other sites

Well, you'll have to manually install MySQL also... but that's the easiest part of the whole process - you just download the MSI from MySQL's site, press "Next" on all dialogs, and you're done.Other than that... let's see... [opens up Apachefriend's home page and XAMPP's page]- phpMyAdmin - OK, yes, if you want to use that, you'd have to install it manually. Personally, I prefer to use MySQL Workbench, which in addition to being generally more awesome is also easier to install (another MSI file...).- OpenSSL - The ApacheLounge binary includes it (for HTTPS serving's sake), and the PHP archive also includes it (for HTTPS consumption's sake).- XAMPP Control Panel - obviously, no. But honestly, how much have you used that control panel? Only to occasionally restart Apache? There's the Apache monitor tool for that... I believe it was part of the ApacheLounge binary.- Strawberry Perl - you don't use Perl, do you?- FileZilla FTP Server - If you only access your files locally, you don't need it. If you absolutely need an FTP server on your home computer, installation is trivial.- Tomcat 7.0.21 - do you use JSP? If not, you don't need that.

Link to comment
Share on other sites

Well, you'll have to manually install MySQL also... but that's the easiest part of the whole process - you just download the MSI from MySQL's site, press "Next" on all dialogs, and you're done. Other than that... let's see... [opens up Apachefriend's home page and XAMPP's page]- phpMyAdmin - OK, yes, if you want to use that, you'd have to install it manually. Personally, I prefer to use MySQL Workbench, which in addition to being generally more awesome is also easier to install (another MSI file...).- OpenSSL - The ApacheLounge binary includes it (for HTTPS serving's sake), and the PHP archive also includes it (for HTTPS consumption's sake).- XAMPP Control Panel - obviously, no. But honestly, how much have you used that control panel? Only to occasionally restart Apache? There's the Apache monitor tool for that... I believe it was part of the ApacheLounge binary.- Strawberry Perl - you don't use Perl, do you?- FileZilla FTP Server - If you only access your files locally, you don't need it. If you absolutely need an FTP server on your home computer, installation is trivial.- Tomcat 7.0.21 - do you use JSP? If not, you don't need that.
Ok, all in all, you are saying that installing components separately is better(since some are not needed)-and not difficult.And another thing, since I already have 3 local sites,do you thing it will be difficult to transfer them in this new setting you are mentioning. This last is what bothers me most.
Link to comment
Share on other sites

no it should not be problem. your local site will be there you need to point out out correctly your web root when you install those manualy to get it worked. but it wont collapse your site

Link to comment
Share on other sites

  • 3 weeks later...

I am in the proccess of installing separately pache,php and mysql. I downloaded apache from here http://www.apachelounge.com/download/win64/and php from here http://windows.php.net/download/ as boen robot suggested I am reading this tutorial here:http://www.ricocheting.com/how-to-install-on-windows/php I installed apache successfully but i cannot install php. The problem arises when following step 5(in "installing PHP")-after i do thatApache will not restart-i have downloaded php thread safe, so this is the correct version.

Link to comment
Share on other sites

Download the 32 bit version of Apache.Even if your Windows is a 64 bit one, it can still run the 32 bit binary, and for PHP to work, that's exactly what you should use.

Link to comment
Share on other sites

The problem continues.Apache does not restart. A window appears telling "Requested operation has failed"I tried to start Apache from the command prompt and here is the message that i got

C:\Apache24\bin>httpd.exehttpd.exe: Syntax error on line 1 of C:/Apache24/conf/httpd.conf: Cannot load C:/php/php5apache2_2.dll into server: \xc4\xe5\xed \xde\xf4\xe1\xed \xe4\xf5\xed\xe1\xf4\xfc \xed\xe1 \xe5\xed\xf4\xef\xf0\xe9\xf3\xf4\xe5\xdf \xe7 \xea\xe1\xe8\xef\xf1\xe9\xf3\xec\xdd\xed\xe7 \xe4\xe9\xe1\xe4\xe9\xea\xe1\xf3\xdf\xe1. C:\Apache24\bin>

Here is line 1LoadModule php5_module "C:\php\php5apache2_2.dll" Do you see any syntax error in the above line? The whole code of course that goes to apache config is the:

LoadModule php5_module "C:\php\php5apache2_2.dll"AddType application\x-httpd-php.phpPHPIniDir "C:\php"

I even tried changing the slashes from back ones to forward ones but without any result.

Edited by jimfog
Link to comment
Share on other sites

You have two options:1. Get the PHP 5.4.1RC2 (or wait 2 more days for the final PHP 5.4.1 to come out), and use the php5apache2_4.dll in it.2. Get the Apache 2.2.* (32 bit) binary, and apply that same configuration file to it instead.The problem is Apache 2.4 compatibility was only added in the latest PHP release, and 2.4 is not backwards compatible with 2.2.Note that if you choose option 1, you'd also need to use XDebug 2.2.0RC2, as opposed to 2.1.4.

Link to comment
Share on other sites

You have two options: 1. Get the PHP 5.4.1RC2 (or wait 2 more days for the final PHP 5.4.1 to come out), and use the php5apache2_4.dll in it.
Are you sure it will come out in 2 days? I followed option 1 but there was not any php5apache2_4.dll in the php folder? Edited by jimfog
Link to comment
Share on other sites

That's odd given PHP 5.4.1RC2's change log... oh well... php5apache2_3.dll (Apache 2.3 is the "beta" version of Apache 2.4; this DLL should be compatible with 2.4)?As for the coming out in 2 days... that's what the front page on php.net says:

PHP 5.4.1 final will be released on April 26.
Link to comment
Share on other sites

That's odd given PHP 5.4.1RC2's change log... oh well... php5apache2_3.dll (Apache 2.3 is the "beta" version of Apache 2.4; this DLL should be compatible with 2.4)? As for the coming out in 2 days... that's what the front page on php.net says:
Since the dll(i can neither find php5apache2_3.dll) was not found i will have to wait for the final version in 2 days. And to be precise that we are talking about the same thing, here is the name of the file i downloaded: php-5.4.1RC2.tar.
Link to comment
Share on other sites

oh...but since we are 1 day away from the production version then i will wait till tomorrow and hopefully the problem will be solved

Link to comment
Share on other sites

  • 2 months later...

sorry for the so late response-do me a favor, can you give me the link of the correct php file to install.I downloaded this one php-5.4.4RC2-Win32-VC9-x86 but the error message is the same and Apace is not started. The message is this:

Syntax error on line 515 of C:/Apache24/conf/httpd.conf: Cannot load C:/php/php5apache2_2.dll into server: \xc4\xe5\xed \xde\xf4\xe1\xed \xe4\xf5\xed\xe1\xf4\xfc \xed\xe1 \xe5\xed\xf4\xef\xf0\xe9\xf3\xf4\xe5\xdf \xe7 \xea\xe1\xe8\xef\xf1\xe9\xf3\xec\xdd\xed\xe7 \xe4\xe9\xe1\xe4\xe9\xea\xe1\xf3\xdf\xe1.

In the php file I downloaded I did not find php5apache2_4 as I expected to.

Link to comment
Share on other sites

No need to worry, I solved the issue.

Link to comment
Share on other sites

Let me guess, you downloaded the DLL from ApacheLounge?('cause that's what I ended up doing just yesterday...)

Link to comment
Share on other sites

Let me guess, you downloaded the DLL from ApacheLounge? ('cause that's what I ended up doing just yesterday...)
Exactly-although I do not understand why this file is not included in the php 5.4.4 installation.
Link to comment
Share on other sites

cause php package is for general package.they dont makr servers and php can be used not only with apache but other servers or other versions. so you need to compile the proper connector for server when you compile it. for the same reason compiled zip package does not include it.

Link to comment
Share on other sites

cause php package is for general package.they dont makr servers and php can be used not only with apache but other servers or other versions. so you need to compile the proper connector for server when you compile it. for the same reason compiled zip package does not include it.
Well, strictly speaking, PHP does include a web server since PHP 5.4.0, plus it has always included connectors for Apache 1, Apache 2.0, and Apache 2.2.I'm guessing the reason they don't include it is that previously, the connectors were for official Apache binaries. But there aren't official Apache 2.4 binaries, and they can't include binaries for every possible Apache compilation. So ApacheLounge ends up distributing its own connectors for its own Apache compilation.
Link to comment
Share on other sites

Well, strictly speaking, PHP does include a web server since PHP 5.4.0,
yes i know that. recently i upgraded to 5.4.4 but did not manage time to practice the new added features. though i don't think it is for production use and only for development purpose.
plus it has always included connectors for Apache 1, Apache 2.0, and Apache 2.2.
as far i can remember there was not any connector when i mannualy installed first time around 1.5 year ago, i had to download it seprately.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...