Home  >  Article  >  Backend Development  >  PHP debugging tools Debug Tools_PHP tutorial

PHP debugging tools Debug Tools_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:30:261053browse

I found a good comrade who can debug PHP source code: PHP DEBUG TOOLS

Its project address: http://freshmeat.net/projects/php-debug-tools/
File download address: http:// freshmeat.net/urls/7c58ae3fecce5763e7546b958d36e082
It is currently version 1.03


The environment here is WINDOW XP, APACHE2.2, PHP5.2+ Zend Optimizer,
This is combined with PHP DEBUG TOOLS Help document to explain, some pictures are excerpted from the document.

1. Installation
Preparation environment before installation: X-Debug must be installed first,
As for how to install X-Debug, please see http://www.xdebug.org/docs/install

1. Download the appropriate X-DEBUG version from http://www.xdebug.org/download.php
2. Unzip the DLL file to the ext directory under the PHP installation directory, such as C:/php/ext/php_xdebug-2.0.4-5.2.8-nts.dll
3. Modify the php.ini file and add the following paragraph:
-- ----------I am the dividing line of perversion, you can't see me---------------------
zend_extension = "C:/php/ext/php_xdebug-2.0.4-5.2.8-nts.dll"
xdebug.collect_includes = Off
xdebug.default_enable = Off

xdebug.dump_globals = Off
xdebug.dump_once = Off
xdebug.extended_info = Off
-------------This is a perverted dividing line, you can’t see me------- ------------------
Note: This example is for non-thread safe version. For the thread safe version change "zend_extension" to "zend_extension_ts"

After the installation is complete, unzip all the files in the PHP DEBUG TOOLS compressed package to the website release directory.
(Assume the release directory is c:www, then create a new debug directory in it and throw all the files into it)

Enter in the browser: http://localhost/debug/test1-debug.php
If you see the picture below, the installation is successful.
PHP debugging tools Debug Tools_PHP tutorial
2. Debugging
1.Debug errors
For example, the following code:

Copy code The code is as follows:

require './lib/debug.php';
function test($a, $b)
{
echo $asd;
}
test(10, ' abc');
?>

PHP debugging tools Debug Tools_PHP tutorial
2. Use Debug() to debug
such as the following code:
Copy the code The code is as follows:

require './lib/debug.php';
function test($args)
{
test_nested($args);
}
function test_nested($args)
{
debug($args);
// or: debug(get_defined_vars() );
// or: debug();
}
test(array('id'=>123, 'str'=>'test'));
?>

PHP debugging tools Debug Tools_PHP tutorial
3. Use dump() or dump_tofile() to debug
such as the following code:
Copy code The code is as follows:

include_once './lib/dump.php';
function test5()
{
include './testdata/test0.php';
$test = array('int'=>1, 'float'=>2.0, 'float2'=>2.1);
dump($test, $_SERVER);
}
function test1() { test2(); }
function test2() { test3(); }
function test3() { test4() ; }
function test4() { test5(); }
test1();
?>

PHP debugging tools Debug Tools_PHP tutorial
As for dump_tofile(), it is generally used in the following situations:
A. When you don’t want to stop the program running
B. It’s not that you don’t want to display the debugging data, but that you can’t. For example, when When you request status in AJAX.
C. You also want to debug in multiple places

Please refer to test7-dump_tofile.php in the debug directory

Note: I am running dump( ) or dump_tofile(), it is found that the
PHP debugging tools Debug Tools_PHP tutorial
mentioned in the PHP DEBUG TOOL document does not appear. This can be corrected by modifying the code of debug/lib/debug.php. (Because dump_tofile() has been called dump(), so we only need to modify one place.

echo $pre at line 149;

is modified to:

//edit by benben--- start
echo '';
//edit by benben---end

Corrected picture:
PHP debugging tools Debug Tools_PHP tutorial
4. Track the code, view System performance
You can browse test3-trace.php in the directory, and then click the console in the lower right corner.
For details, please refer to the documentation. (The documentation is in the doc directory in the compressed package)
3. How to integrate it with the project?

First, unzip the php debug tool file and place it in the project directory. Create a directory and call it debug! : )
Actually All we need is a few files.
For example, the path is: c:wwwprojectNamedebug

After that, we can debug in two ways
The first one is to add this sentence to the project source code :
include_once('./lib/debug.php');

For example: c:wwwprojectNamehellodebugindex.php
Copy code The code is as follows:

include_once('./debug/lib/debug.php');

$faint = 'helloworld ,debuging';

debug($arrb);
?>


What? You don’t want to write this sentence on every page?
Then look at the second one method,
There are two methods here,
1. Modify php.ini and add the following content (modify to your own directory):
auto_prepend_file = "c:wwwprojectNamedebugauto_prepend.php"
auto_append_file = "c:wwwprojectNamedebugauto_append.php"

2. Modify the .htaccess file (note: I have never tried this method, hehe)
php_value auto_prepend_file "c:wwwprojectNamedebugauto_prepend.php"
php_value auto_append_file "c :wwwprojectNamedebugauto_append.php"

This will facilitate the debugging of the entire project.

If it is AJAX development, there are still necessary places, please refer to the document for details. (Because I don’t have that yet. It’s necessary, so I’ll skip it for now and don’t make a fool of myself, hehe.)

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/323238.htmlTechArticleI found a good comrade who debugs PHP source code: PHP DEBUG TOOLS Its project address: http://freshmeat.net /projects/php-debug-tools/ File download address: http://freshmeat.net/urls/7c58ae3fecce57...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn