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.
2. Debugging
1.Debug errors
For example, the following code:
Copy code The code is as follows:
php
require './lib/debug.php';
function test($a, $b)
{
echo $asd;
}
test(10, ' abc');
?>
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'));
?>
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();
?>
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
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:
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.)
http://www.bkjia.com/PHPjc/323238.htmlwww.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...