How to Solve Errors at SugarCRM Installation Steps

I’ve came across errors at “System Check Acceptance” dialog when trying to install SugarCRM on my machine as follows:

sg01

The first issue, is database unavailable error, with detailed error message as follows:

Database Support was not found. Please make sure you have the necessary drivers for one of the following supported Database Types: MySQL or MS SQLServer. You might need to uncomment the extension in the php.ini file, or recompile with the right binary file, depending on your version of PHP. Please refer to your PHP Manual for more information on how to enable Database Support.

This error message is rather cryptic, because, since it is my first installation, surely the database is not available. I planned to install the database into my existing mySQL server on another machine. It is said that I have no driver installed, and this should be irrelevant, because everything I need is already installed on that another machine.

The above instruction about recompiling the right binary file, seems to be excessive. Why should I recompile my PHP when I it is OK for my other applications ?

So, I perform a detailed checks to the installation steps coding at install.php in SugarCRM application, to see the causes of this error.

The origin of error is caused by empty($drivers) check trap inside runCheck function in installSystemCheck.php file. The $drivers variable is returned by DBManagerFactory::getDbDrivers(). As usual for complex system like SugarCRM, it loops to the available configuration searching for existing driver.

The key point is the call to function_exists to checks for existing driver. For example, for mysqli, it will call function_exists(“mysqli_connect”).

So, let’s move this function call to testing page to verify whether the call is failed:

sg02

So, the problem now reduced to the question of why there are no mysql*_connect function in my PHP machine. And that can be deduced to the incomplete php.ini configuration. This is done by un-commenting the required extension in PHP.INI file:

sg03

After re-starting the php server and re-run the test page, it now says “exist”, and I fired the install.php again. Database issue is now gone, but I have to analyze the second one, i.e. “MB string issue”:

Functions associated with the Multibyte Strings PHP extension (mbstring) that are needed by the Sugar application were not found.

This issue is resolved by un-commenting extension=php_mbstring.dll extension in PHP.INI file.

The last one, is zip issue because the required extension php_zip.dll should be activated. Remember that each time I perform changes to the PHP.INI, I should re-start the affected web service or server.

Next issues is minor one, which causes the SugarCRM can be activated, with limited capabilities:

sg04

It can be eliminated by uncomenting php_imap.dll, php_curl.dll and php_gd2.dll extension.

Advertisements

Tags:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: