smartfaq
SmartFAQ is developed by The SmartFactory (http://www.smartfactory.ca), a division of InBox Solutions (http://www.inboxsolutions.net)

What is debugging and how do I do this?
Requested by Carnuke and Answered by Mithrandir on 2004/11/2 11:03:33 (34188 reads)
Debugging is the art of finding errors.
XOOPS has three levels of debugging; PHP debug, MySQL debug and Smarty debug.

PHP Debug
If PHP debug is not on, the system will suppress error messages coming from the PHP code.

This is the main reason for the dreaded "Blank Page" problem, which is caused by an error in the PHP code, so serious that the interpretation of the code can no longer continue.

Enabling PHP debug will often result in these blank pages showing an error message instead.

MySQL Debug
With this debugging setting enabled, a window will popup after each page load, showing the database queries, executed on the page. It will also show which blocks and templates are used on the page along with caching information (whether the block or template is cached)

Faulty SQL queries will be highlighted in red with a MySQL error message appended

Smarty Debug
Smarty debug settings will open a new window on all pages using Smarty templates, showing all variables assigned to Smarty along with their values.
This debug setting is useful if you know that there are no PHP errors, that the SQL queries execute successfully, but the information does not show up as expected. Quite often it is a matter of organising the information correctly for display which is only discovered by looking at the actual values in each Smarty variable. An example is information in an array, which the template is coded to take from a sub-array instead - or vice versa.

--- Additional details submitted by Jdseymour on 13-Jan-2005 00:07

To add to this answer here are three flash tutorials that show how to enable each debug mode, and how the output of each mode looks.

1.PHP Debug Mode Tutorial

2. MySQL Debug Tutorial

3. Smarty Template Debug Tutorial


The comments are owned by the author. We aren't responsible for their content.

 Enable PHP Debug Using Phpmyadmin

This FAQ should add a solution to enable php debug using phpmyadmin. Just incase users can't gain access to admin/user interface *similar to blank page*. Just a suggestion.

SMD

 
  • XOOPS is my life!

 Re: Enable PHP Debug Using Phpmyadmin

I'll post that info here for reference.

MySQL query to change the XOOPS Debug Mode setting:

UPDATE XXXX_conf SET conf_value=YYYY WHERE conf_modid=AND conf_catid=AND conf_name='debug_mode'


Replace XXXX with the value of XOOPS_DB_PREFIX in mainfile.php (default is "xoops").

Replace YYYY (Debug Mode) with:

0, for Off
1, for PHP Debug
2, for MySQL/Blocks Debug
3, for Smarty Template Debug

 
  • Just popping in

 Re: Enable PHP Debug Using Phpmyadmin

I'm not sure if you're out of date or if I'm out of date, but my config table is named xxxx_config, NOT xxxx_conf. Anyway, thanks for the good info.

 

 Re: Enable PHP Debug Using Phpmyadmin

I'm pretty sure its a typo. The correct one is:

UPDATE XXXX_config SET conf_value=YYYY WHERE conf_modid=AND conf_catid=AND conf_name='debug_mode'

 
  • Just popping in

 Re: Enable PHP Debug Using Phpmyadmin

It doesnt work for me... tell me that 0 row changed...

 
  • Just popping in

 Temporarily changing debug mode

I'm doing an ajax-style include of pages within a form and I want to disable the called pages' debugging. Is there any way within a specific page context to change the debug_mode value?