Wednesday, June 17, 2015

Magento Debugging Techniques

The tips I am mentioning for Magento debugging can be applied on any LAMP application.

Clear the Magento Cache
If you are using caching at all within Magento, one of the first steps to answering the question - "Why is this not working?" - is to clear the Magento cache. There are two ways to clear the cache:
  • System > Cache Management > Select All > "Refresh" Massaction > Submit
  • Delete the "cache" directory under BASE_MAGENTO_DIR/var

Clear the Browser Cache
More than once, I have wasted 10 minutes trying to figure out why something wasn't rendering to the browser correctly, only to find that my browser was caching old responses. If you don't know how to clear your browser cache, see the following links:
  • Firefox
  • Internet Explorer
  • Safari
  • Google Chrome

Make Sure Your Configurations Are Set For the Proper Scope
Because the System > Configurations can be set for specific scopes (Default / Website / Store View), we have to make sure that we have set the configurations for the proper scope. To check this, use the Magento Admin Panel -
  • System > Configuration > Upper Left Corner (Change to the scope/store view you are working with)

Turn On Magento Logging
This one is a big one. Almost EVERY time, if there is a problem in Magento, something will appear in either the system.log or the exception.log. Checking these logs should become second nature to you. To turn on logging, use the Magento Admin Panel -
  • System > Configuration > Advanced > Developer > Log Settings > Enable
  • Check the magento exception.log under BASE_MAGENTO_DIR/var
  • Check the magento system.log under BASE_MAGENTO_DIR/var

Use Template Path Hints
Template Hints are pretty amazing. When you want to figure out which Block or phtml file a problem is occurring in, you can turn on template hints and see the information right on the browser. It's awesome, so if you haven't tried it, try it right now.
To turn on template path hints, use the Magento Admin Panel -
First, you NEED to select the store view you want to show the hints on. If you don't, the configuration option won't appear.
  • System > Configuration > Advanced > Developer > Debug > Template Path Hints and/or Add Block Names to Hints
  • By default, there is no way to turn on hints for the Admin Panel, so take a look at Easy_Template_Path_Hints extension. It will help you to enable path hints with a easier step. [SOURCE]

Tracing
If you have implemented a home-grown tracing mechanism, turn it on and look at the log. A common tracing mechanism consists of coding tracing statements within the code that log ENTRY into a function, important information within the function, and EXIT from the function. This information can be crucial in debugging problems in a production environment.

XDebug Tracing
XDebug provides some pretty kick-butt tracing ability. If you turn it on, get ready for a lot of data, but it can be very helpful when trying to pinpoint a problem. In the article "Tracing PHP Applications with xdebug" it gives some really good information about xdebug tracing.

Check the Apache error_log

When all else fails, take a look at the apache error_log. It could be a problem with the setup of your webserver.

Google It
It may come as a surprise, but there are still people that don't turn to Google as a "troubleshooting option". They should. When you want to ask a developer something, first ask it to Google. For instance, if you want to know how to do a rewrite of a model, just Google: How do I rewrite a model in Magento. If you want to know why you are getting an error like "HEADERS ALREADY SENT", Google: headers already sent magento. Chances are, another developer will give you a response like THIS if you ask them the question anyway.

Search Or Ask The Magento Forums
One of the big pros to Magento is the active community members. Many are willing to help answer your questions for free, and quickly. Before you ask your question, search the forums. If you don't find your answer, ask your question.

Use the Varien_Profiler
If you are having performance issues, turn on and use the Varien_Profiler. Do this in the Admin Panel -
  • System > Configuration > Advanced > Developer > Debug > Profiler
http://inchoo.net/ecommerce/magento/keeping-your-magento-fit-with-built-in-profiler/
http://www.neptuneweb.com/blog/?id=24

Hope it might help.

11 comments:

  1. Your post urges me to create a business website, of course I will free download magento as soon as possible. Magento is perfect day by day.

    ReplyDelete
  2. Your blog has attracted me. I am happy that I found your post while searching for informative posts. I would like to know more about magento developer. Thanks a lot for such a wonderful post

    ReplyDelete
  3. I was searching for this information,.thanks for sharing about "Magento Extensions " ,..

    ReplyDelete
  4. Firstly thanks a lot for such a wonderful post. Great piece of writing, I am happy that I found your post while searching for informative posts about magento developer. It is really informative and quality of the content is extraordinary.

    ReplyDelete
  5. I am happy that I found your post while searching about Magento Web Designer posts. It is really informative and quality of the content is extraordinary. Thanks for sharing.

    ReplyDelete
  6. I am looking for a plugin to enable social login and sharing at my magento webstore
    Magento Store Permissions

    ReplyDelete
  7. Great article! I think this article will support and complement your point
    Florida Web Development

    ReplyDelete
  8. Thanks for sharing this Information, Got to learn new things from your Blog on MAGENTO.
    Ref link : http://thecreatingexperts.com/magento-training-in-chennai/

    ReplyDelete
  9. Thank you for sharing this information.I have gone through your blog and its very wonderful Magento training in Chennai

    ReplyDelete