Post view

Dolphin 6.1.x and PHP 5.3.x

It can be difficult to get Dolphin 7x to work with PHP 5.3.x, but getting Dolphin 6.1.x to work is another story. If you are still using Dolphin 6.1.x it's better to stick with PHP 5.2.x if possible. If you control the server PHP 5.2.x is much easier to configure. If you don't control the server or have any say in the matter be prepared for some challenges and headaches. It may not even be a matter of if, but more like when.

Recently I was looking at a Dolphin 6.1.x site that the host had upgraded to PHP 5.3.x.

A number of things stopped working, and there were errors all over the place.

One thing you can do if you want to get rid of the display errors is open /inc/header.inc.php and find this near the bottom of the page:

// set error reporting level
error_reporting(E_ALL & ~E_NOTICE);
set_magic_quotes_runtime(0);
ini_set('magic_quotes_sybase', 0);


Add:
& ~E_DEPRECATED

Comment out:
//set_magic_quotes_runtime(0);

And add:
ini_set("magic_quotes_runtime", 0);


So it would look like this:
// set error reporting level
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
ini_set("magic_quotes_runtime", 0);
//set_magic_quotes_runtime(0);
ini_set('magic_quotes_sybase', 0);


Another thing I came across was that when someone would try to edit a blog post they would get the following error:
Call to a member function parse() on a non-object in /home/account-name/public_html/inc/utils.inc.php on line 614

Open:
/inc/utils.inc.php

Find this:

function clear_xss($val)
{
require_once( BX_DIRECTORY_PATH_PLUGINS . 'safehtml/safehtml.php' );
$safehtml =& new safehtml();
$res = $safehtml->parse($val);

return $res;
}


Change to:
function clear_xss($val)
{
require_once( BX_DIRECTORY_PATH_PLUGINS . 'safehtml/safehtml.php' );
$safehtml = new safehtml();
$res = $safehtml->parse($val);

return $res;
}

Basically all you do is remove the: &
From
=& new safehtml();

To
= new safehtml();



If you get a timezone error it is because PHP 5.3.x doesn't have a timezone set by default in the master php.ini file. I don't know how many times I have seen this error. You would think most hosting companies would know to set this, but for some reason they forget. I could see if it were someone with a VPS that isn't that familiar with server administration, but when a hosting company forgets to set this it does make me wonder about them.

At any rate you can set it in the master php.ini file if you have VPS or dedicated. If you are on shared hosting you can add the following to /inc/header.inc.php until your host gets the timezone set.
date_default_timezone_set('America/Chicago');

You can find a complete list of List of Supported Timezones for PHP here:
List of Supported Timezones

You can do this for both Dolphin 6.1.x and 7.0.x versions if need be, but let your host know so they can set it in the master php.ini.

There are probably a few other things. If I come across more I will try to update this or make a new post for Dolphin 6.1.x and PHP 5.3.x.

987 Awesome Views
Post info
07.21.2012 (1773 days ago)
Sponsored Links
Actions
Recommend
Categories
Yahoo and MSN (16 posts)
Alexa (3 posts)
Articles (1 posts)
Boonex (79 posts)
Boonex DolphinU (1 posts)
Dedicated Servers (2 posts)
Google (25 posts)
Google, Yahoo and MSN (11 posts)
Microsoft (4 posts)
My Ramblings (12 posts)
Resources (6 posts)
Servers (1 posts)
Tech News (26 posts)
Thoughts (1 posts)
Updates (1 posts)
Wordpress (1 posts)