import data from a SugarCRM 6.5.20 DB to suiteCRM 7.7.8

Hi,

I have a SugarCRM CE 6.5.20 installation, the system it is on is in a mess, the upgrade wizard is not working. Is there a way I can just easily export the data from the SugarCRM DB and then import it into the suiteCRM 7.7.8 DB?

Thanks for your help.

So at the end I went for the normal upgrade path going through a VM to have a working box with a stable php 5.3 install.

After the upgrade using the 6.5.x to suite 7.1.8 archive I end up with the following error:
Notice: Undefined index: collection_temp_list in /opt/crm/custom/modules/Accounts/Ext/Layoutdefs/layoutdefs.ext.php on line 19 Notice: Undefined index: AOS_Quotes in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 495 Notice: Undefined index: in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 499 Warning: include_once(/opt/crm): failed to open stream: No such file or directory in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 499 Warning: include_once(): Failed opening ‘’ for inclusion (include_path=’/opt/crm:/opt/crm/include/HTMLPurifier/standalone:/opt/crm/include/…:.:/usr/share/pear:modules/AOD_Index/Lib’) in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 499 Fatal error: Class name must be a valid object or a string in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 500

Any idea?

So this was just a notice so it’s ok but I need to upgrade up to a version which is compatible with php 7. Unfortunately now I can’t get to the Upgrade wizard, it loads a blank page with an error:
fatal rename failure ‘/tmp/tempKoadyg’ -> ‘cache/modules/EmailAddresses/EmailAddressvardefs.php’ in /opt/crm/include/utils/sugar_file_utils.php on line 187

Any idea what could this?

Apparently the files moved in cache folder ends up belonging to root user. Not sure how is it possible considering apache runs as http user…

If I change the ownership of cache to http user then it will load the page with this error:
Notice: Undefined index: KBDocuments in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 495 Notice: Undefined index: in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 499 Warning: include_once(/opt/crm): failed to open stream: No such file or directory in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 499 Warning: include_once(): Failed opening ‘’ for inclusion (include_path=’/opt/crm:/opt/crm/include/HTMLPurifier/standalone:/opt/crm/include/…:.:/usr/share/pear:modules/AOD_Index/Lib’) in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 499 Fatal error: Class name must be a valid object or a string in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 500

Then next time I load the page it is the previous error about the fatal rename failure.

If you have your cron jobs (Schedulers) set up as root they will provoke this kind of thing during installations and upgrades. They should be set up to run as your web server user, also.

It’s also better to disable them completely during any servicing operation. SuiteCRM needs to be improved to do this for you, but until it does, I recommend stopping cron or commenting out the call to cron.php in crontab during servicing.

Thank you, the issue about the fatal rename failure is sorted after disabling the cron job. Now when I get to the upgrade wizard, I am getting the following:
Notice: Undefined index: current_db_version in /opt/crm/modules/UpgradeWizard/end.php on line 238 Notice: Undefined index: current_db_version in /opt/crm/modules/UpgradeWizard/end.php on line 247 Notice: Undefined index: KBDocuments in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 495 Notice: Undefined index: in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 499 Warning: include_once(/opt/crm): failed to open stream: No such file or directory in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 499 Warning: include_once(): Failed opening ‘’ for inclusion (include_path=’/opt/crm:/opt/crm/include/HTMLPurifier/standalone:/opt/crm/include/…:.:/usr/share/pear:modules/AOD_Index/Lib’) in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 499 Fatal error: Class name must be a valid object or a string in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 500

I believe I can ignore the “Notice:…” and “Warning: …” and focus on the fatal “Class name must be a valid object or a string in /opt/crm/include/SubPanel/SubPanelDefinitions.php on line 500”

Currently running php 5.3 and still on suiteCRM Version 7.1.8 at the moment. Could it be related?

So I found a fix for this fatal error with some google search.

I replaced line 492 of include/SubPanel/SubPanelDefinitions.php by:

if (! empty ( $module_name ) && isset($beanList[$module_name]))

instead of:

if (! empty ( $module_name ))

And now the upgrade wizard works so on my way to upgrade from 7.1.8 to 7.3.2…

Can you please give me some information as to how your crontab was configured? Do you know which user it was running under? I’m investigating this issue and I appreciate feedback.

Use
sudo crontab -l -u root

to see the crontab for user root, then
sudo crontab -l -u www-data

for that other user (or whatever your web server uses), and then tell me where you have your cron.php line, please.

Good luck with the upgrades!

I managed to upgrade to 7.7.8. Things went much more smoothly from there. I upgraded to 7.3.2 then 7.4.4 then I updated php to php 5.6 then updated to 7.6.10 and finally to 7.7.8.

Cool. Please don’t forget to answer my question above. : - )

I know you’re busy with other things, but this issue will also be important to you once you turn crontab back on again.

Ah sorry, I didn’t notice you were asking me something. The cron job was running as root, hence the issue. I’ll make it run as the http user and I guess it will be all fine.

Thanks for your help.

1 Like