Magento Blank Page Issue Fixed

After a recent upgrade from Magento Community Edition 1.9.0.1 to 1.9.1.0, I started noticing blank pages in the admin section (backend only) after certain functions: order entry, email tracking information, order comments. I also noticed no emails were sent out after password reset requests on the front end. I checked /var/log/maillog and didn’t see the messages. However I confirmed SMTP was working.

So, must be code related, I thought. Step 1 in my troubleshooting usually starts in /var/log/httpd/error_log. Upon review I noticed the following:

[Fri Mar 27 12:55:37.491424 2015] [:error] [pid 9974] [client xx.xxx.xxx.xxx:55842] PHP Fatal error: Call to undefined function mb_convert_encoding() in /var/www/html/magento/lib/Pelago/Emogrifier.php on line 556, referer: http://domain/index.php/admin/sales_order_shipment/view/shipment_id/936/key/...

Because I just upgraded, I had a fresh tar ball of my 1.9.0.1 build from the day prior. I ran a diff on the old version and the new version. One of the differences is this file:

$mage/lib/Pelgro/Emogrifier.php

This lib was not in my 1.9.0.1 build. This is new to Magento Community Edition 1.9.1.0.

Apache
This php file was failing to fully execute because of a missing php library (thank you @benmarks). I quick review of phpinfo(); showed I did not load mbstring in php.ini. After installing php-mbstring and restarting Apache, all email functions were confirmed working and the blank page issue went away.

 

9 Responses to “Magento Blank Page Issue Fixed”

  • Mona says: May 13, 2015 at 12:34 pm

    I'm having this same issue after an update. Is it possible for you to help me with "installing php-mbstring and restarting apache." I'm COMPLETELY lost there :(

    • Chris says: Jun 1, 2015 at 8:22 am

      Mona, you will need command line level access to your server to install php-mbstring. Do you have this?

  • Martin Meerman says: May 28, 2015 at 11:58 pm

    Hi Chris, I ran into the same issue but I am not that experienced like you to find the answer. I run CE 1.9.1.1 and hope that this will also solve my problem. It sounds easy how you solved it, but how can I do the same? How/wher can I install the php-mbstring you mention? Hope to hear from you soon, Martin

    • Chris says: Jun 1, 2015 at 8:36 am

      Hi Martin, Sorry for the delay. You can do a

      yum install php-mbstring
      from the command line and that should do the trick. Then restart apache.

  • Aziz says: May 31, 2015 at 9:21 am

    Man You and @benmarks are AWESOME !!!!!!!!!! Many thanks to you guys

    • Chris says: Aug 20, 2015 at 3:34 pm

      You're quite welcome. Glad this helped you.

  • George says: Sep 17, 2015 at 8:46 pm

    Hi Chris, We are running 1.9.0.1, the site has been performing perfectly until a couple days ago it started having this same issue. We have tried all the suggestions above, uploaded the Pelago folder into /lib, reviewed the php info file and mbstring looks to be installed (not sure if it is setup properly) http://drinsole.wearetmrw.com/phpinfo.php. We would like to diagnose further but are unsure of what could have caused this randomly. Any suggestions?

    • George says: Sep 17, 2015 at 9:07 pm

      We have fixed this issue.

      • Brandon Barclay says: Jan 22, 2016 at 4:53 am

        How did you fix this. I still get EACCELERATOR(19356): PHP crashed on opline 39 of preg_replace_callback() at public_html/lib/Pelago/Emogrifier.php:269T

 
Leave a Comment
User

Mail

Globe

Comment