[SOLVED] SuiteCRM can't find Database Support

Trying a fresh install of 7.11.15 for testing purposes on my ubuntu server.

Using PHP 7.4 and MySQL 8.0

I’m aware it does not meet the requirements but I’ve edited files as shown here: https://github.com/salesagility/SuiteCRM/issues/6046

Now I’m stuck at the very begining of this install.

install.log says:

2020-06-20 09:10:59…Begin System Check Process *************
2020-06-20 09:10:59…ERROR:: 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.
2020-06-20 09:10:59…XML Parsing Support Found
2020-06-20 09:10:59…MBString Support Found
2020-06-20 09:10:59…ZIP Support Found
2020-06-20 09:10:59…/custom directory and subdirectory check passed
2020-06-20 09:10:59…cache directory and subdirectory check passed
2020-06-20 09:10:59…/module directory and subdirectory check passed
2020-06-20 09:10:59…/upload directory check passed
2020-06-20 09:10:59…/zip check passed
2020-06-20 09:10:59…PCRE version check passed
2020-06-20 09:10:59…installerHook: Info: custom/install/install_hooks.php not present, no custom hooks to execute
2020-06-20 09:10:59…php.ini location found. /etc/php/7.4/apache2/php.ini
2020-06-20 09:10:59…Outputting HTML for System check

I can connect to my DB from both the console and from phpmyadmin (and sidu 6.1)
My php.ini seems to be fine.

I clueless. Any idea anyone ?

Maybe php_errors.log has additional clues.

Remeber to avoid any special characters (apostrophes, quotes, <, >, etc) in database user name and password.

errors.log only mentions the following:

Trying to access array offset on value of type null in /var/www/html/suitecrm/include/utils.php on line 1777

EDIT: also found that

HP Fatal error: Uncaught Exception: SuiteCRM is not installed. Entry point needs an installed SuiteCRM, please install first. in /var/www/html/suitecrm/include/entryPoint.php:59\nStack trace:\n#0 /var/www/html/suitecrm/index.php(47): require_once()\n#1 {main}\n thrown in /var/www/html/suitecrm/include/entryPoint.php on line 59

The first error seems irrelevant, the second one is just the final collapse.

I guess the error in install.log is the most useful one after all. :slight_smile:

That function is scanning for DB drivers, _any drivers…

Which in turn calls this:

As you can see those are just basic scans for files inside directories. Make sure your ownerships/permissions are allowing files to be read in include/database, and that the usual DB driver files are there…

Permissions are ok and drivers are there. Can’t figure out why SuiteCRM can’t “see” them.

Just to see what happens, I turned the line 233 to false.

Though it (obviously) passed the check test, I had a internal server error 500

and now the errors.log shows :

[Sat Jun 20 12:00:19.693199 2020] [php7:warn] [pid 14312] [client ::1:44610] PHP Warning: require_once(include/database/MysqliManager.php): failed to open stream: No such file or directory in /var/www/html/suitecrm/include/database/DBManagerFactory.php on line 116, referer: http://localhost/suitecrm/install.php
[Sat Jun 20 12:00:19.693224 2020] [php7:error] [pid 14312] [client ::1:44610] PHP Fatal error: require_once(): Failed opening required ‘include/database/MysqliManager.php’ (include_path=’/var/www/html/suitecrm/include/…:.:/usr/share/php’) in /var/www/html/suitecrm/include/database/DBManagerFactory.php on line 116, referer: http://localhost/suitecrm/install.php

Still clueless. I can’t understand what is wrong.

Something else must be blocking access. If you didn’t change htaccess, I would suspect SELinux or some other security product.

None of that on my testing computer…

I’ve given up… So now fresh installing Pop OS 20.04. I was not able to figure out where the problem came from so I just wiped clear my partition and we’ll see…

I’ll keep you informed.

Ok. I’ll leave it here:

Installed Pop OS 20.04 (Ubuntu 20.04)
Downloaded SuiteCRM 7.11.15
Followed the instructions at https://github.com/salesagility/SuiteCRM/issues/6046 and changed ‘rank’ to ‘omegarank’

I passed the check but then the install went wrong and I got these errors:

Sat Jun 20 22:54:14 2020 [50117][-none-][FATAL] SugarBean::populateDefaultValues $field_defs should be an array
Sat Jun 20 22:54:14 2020 [50117][-none-][FATAL] “name” field does not exists in field definition.
Sat Jun 20 22:54:14 2020 [50117][-none-][FATAL] Mysqli_query failed.
Sat Jun 20 22:54:14 2020 [50117][-none-][FATAL] Error creating table: : Query Failed: CREATE TABLE ( NULL ) CHARACTER SET utf8 COLLATE utf8_general_ci: MySQL error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘( NULL ) CHARACTER SET utf8 COLLATE utf8_general_ci’ at line 1
Sat Jun 20 23:01:41 2020 [50074][-none-][FATAL] Mysqli_query failed.
Sat Jun 20 23:01:41 2020 [50074][-none-][FATAL] Query Failed: SELECT id FROM outbound_email WHERE type = ‘system’ AND deleted = 0: MySQL error 1146: Table ‘suitecrm.outbound_email’ doesn’t exist
Sat Jun 20 23:01:41 2020 [50074][-none-][FATAL] Mysqli_query failed.
Sat Jun 20 23:01:41 2020 [50074][-none-][FATAL] Query Failed: INSERT INTO outbound_email (id,name,type,user_id,mail_sendtype,mail_smtptype,mail_smtpserver,mail_smtpport,mail_smtpuser,mail_smtppass,mail_smtpauth_req,mail_smtpssl) VALUES (‘cc75838c-ea66-af81-afd2-5eee79a62a35’,‘system’,‘system’,‘1’,‘SMTP’,‘other’,’’,25,’’,’’,1,0): MySQL error 1146: Table ‘suitecrm.outbound_email’ doesn’t exist

Honestly, I’m aware I not meeting the specs and I’ll leave it here.

I just tried it out of curiosity but it’s going nowhere and it won’t help anyone looking for a solid install on a production environnment.

Thank you for your follow up pgr !

There is a more generic fix (quoting all column names) here:

If the Issue persists, please post that MySQL error on Github as an isuse, stating clearly in the subject that it’s for MySQL 8. We need to know where it breaks in order to provide compatibility later. And that later needs to be soon, I think.

Thanks

1 Like

Applied hannenule’s fix.

Still does not work. MAny fatal errors. Gonna post on github.

Thanks pgr

1 Like