Solved

Code/debug php code

Posted on 2014-11-18
11
207 Views
Last Modified: 2014-12-11
I have installed WAMP server with php, MySQL. Which tool should I install in order to debug and modify the php code ? Any simple guideline on this ?

Tks
0
Comment
Question by:AXISHK
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
  • +2
11 Comments
 
LVL 36

Expert Comment

by:Kimputer
ID: 40449204
Depending on your problems, you should use print_r commands on various tacticallly sound spots in your php code (so it depends on your errors and what you're trying to debug). If used properly, you can "trace" a variable, and notice where it changes or behaves unexpectedly, and that's usually where the bug is (wrong formula, wrong logic, etc). I prefer Notepad++ for php editing (unless you already have a more expensive software package like Dreamweaver).
0
 

Author Comment

by:AXISHK
ID: 40449215
Notepad++ don't have debugging feature, and we need to use print_r commands to list the variable, correct ?

How to use notepad++ to trace through ,say a.php -> b.php -> c.php.  Any example on this ?

Tks
0
 
LVL 36

Assisted Solution

by:Kimputer
Kimputer earned 100 total points
ID: 40449271
Notepad++ is editing only. Debugging happens only in the live environment by watching the print codes you have in your php code. If you need to trace through multiple php files, have the print codes there too (for example printing the session variables).
0
Upcoming Webinar: Securing your MySQL/MariaDB data

Join Percona’s Chief Evangelist, Colin Charles as he presents Securing your MySQL®/MariaDB® data on Tuesday, July 11, 2017 at 7:00 am PDT / 10:00 am EDT (UTC-7).

 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 40449289
I do like @Kimputer says.  I just use my code editor and put in 'echo' and 'print_r' statements (temporarily) where I need to find out what's going on..  I have never had an IDE with a "debugger".
0
 

Author Comment

by:AXISHK
ID: 40449300
Do you mean simply modify the php code to print out some variables ? Run the php website again to dump the result. Afterwards, remove the code, correct ?

Tks
0
 
LVL 36

Expert Comment

by:Kimputer
ID: 40449309
Yes correct.
0
 
LVL 83

Assisted Solution

by:Dave Baldwin
Dave Baldwin earned 100 total points
ID: 40449328
I often leave my troubleshooting code in the file but commented out when it runs properly.  I might need it again when my customer wants some more changes.  Since PHP is interpreted, you can edit, upload, and run it very quickly.  Or when you have the web server on your machine, you can just edit it and run it.  Which I'm about to do to figure out why one of my programs is not running exactly right.
0
 
LVL 110

Accepted Solution

by:
Ray Paseur earned 300 total points
ID: 40449561
Some good "getting started" concepts and resources are in this article.
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_11769-And-by-the-way-I-am-new-to-PHP.html

In the world of IDEs, Komodo and Eclipse come to mind.  But that said, I do what DaveBaldwin and many other professionals do - we write the code by hand and use var_dump() to visualize the data, step-by-step as we develop the application.  I rarely write more than a few lines of code without testing.  Test-driven development saves so much time you will be amazed!
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_7830-A-Quick-Tour-of-Test-Driven-Development.html
0
 

Author Closing Comment

by:AXISHK
ID: 40461172
Tks
0
 

Expert Comment

by:robin811
ID: 40493972
It's often useful to follow the print_r or var_dump line with the command die.  If there is an http request after the var_dump, the output can be  overwritten before you can see what it is.  the die command stops execution so you can see your var_dump output.

I use a macro that outputs the following code (inserting the contents of the clipboard in the parentheses, I copy the name of the variable I want to dump first, then run the macro):

/*DELETE*/ echo var_dump($request); die;
0
 
LVL 110

Expert Comment

by:Ray Paseur
ID: 40495335
@robin811: Good advice!  Laravel has a dd() function that does a "var_dump(); die()" sequence.  Very helpful for isolating that one nagging thing!  Best to all, ~Ray
0

Featured Post

Major Incident Management Communications

Major incidents and IT service outages cost companies millions. Often the solution to minimizing damage is automated communication. Find out more in our Major Incident Management Communications infographic.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
In this series, we will discuss common questions received as a database Solutions Engineer at Percona. In this role, we speak with a wide array of MySQL and MongoDB users responsible for both extremely large and complex environments to smaller singl…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to dynamically set the form action using jQuery.

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question