No page content or navigation menu after v8 migration

Hi,

Iā€™m trying to upgrade from 7.14.1 (Working perfectly) to 8.4.1.

Iā€™ve gone through the process a few different times now, always with the same result:

  • Access to the login page, and ability to log in successfully
  • Nothing else. There is an empty navigation menu, an empty footer, and no content on the page
  • I have tried different URLs such as the Leads and Administration page, with the exact same result.

What my instance looks like after attempting a CRM 8 migration

The process I followed:

  • Main (Working) CRM is on the latest 7.14.1

  • Create a new subdomain for the CRMv8 instance

  • Upload and extract SuiteCRM-8.4.1-7.14-migration.zip to the subdomain folder

  • Set Permissions

  • In cPanel, change the DocumentRoot from ā€˜crm8ā€™ to ā€˜crm8/publicā€™

  • Copy the CRMv7 folder to ā€˜crm8/publicā€™, rename to ā€˜legacyā€™

  • Inside the legacy folder, re-set permissions

  • In cPanel, change the active PHP version from 7.4 to 8.1

  • From CLI run the Migration prepare command:

    • ā€˜session_dirā€™ is already equal to ā€˜ā€™
    • ā€˜site_urlā€™ updated to the new subdomain
    • The legacy .htaccess Rewritebase is set to ā€˜RewriteBase /legacyā€™ (As the root folder is ā€˜crm8/publicā€™)
  • Run the upgrade command successfully

  • Run post-upgrade command successfully

  • Re-set permissions: From the main ā€˜crm8ā€™ folder and from ā€˜crm8/public/legacyā€™

  • Open my instance and test: It does not work. A login screen appears and I can log in as the admin user. After logging in, there is no page or menu content, as seen in screenshot above.

I have read that blank pages are often due to permission errors, however I believe my permissions are correct. My permissions were set according to the top post I could find

What Iā€™ve tried:
Manually visiting the administration page & leads page (by using the URL format from our v7 instance). It had the same problem with both where it was just a blank page

Repeat the process from scratch, but use merge mode on the post-upgrade command. Same result

Repeat the process, but using a ā€˜cloneā€™ of the CRMv7 instance as the base

Changing DocumentRoot to just ā€˜crm8ā€™ rather than ā€˜crm8/publicā€™ (Our Suite v7 instance has the main folder as document root and not the public folder). This went to the file index of the site instead, and from there the ā€˜publicā€™ folder had the same result as always

The JS console does not indicate any errors, but shows 3 warnings:

Not sure where next to troubleshoot this. If anyone has any idea please let me know.

Cheers

Did you install mod_rewrite? And all the required PHP modules?

Do you have any messages in your logs, both php_errors.log and suitecrm.log?

Iā€™m on shared hosting but yes, mod_rewrite is enabled and I have just tested & confirmed working.

Checking PHP extensions, all are enabled with 2 exceptions: cli and common. (These donā€™t show up as options). I can use php via cli

In crm8/public/legacy/suitecrm.log I have the following Fatal errors, repeated a few times each:

[14753][1][FATAL] Exception handling in /home/user/public_html/crmv8/public/legacy/include/MVC/Controller/SugarController.php:397

[14753][1][FATAL] Exception in Controller: Unable to load template 'file:custom/' 

That is interesting to me. The SugarController.php file has permissions set to 755, and line 397 is the function that output said error message:

Could the problem be because itā€™s trying to load a custom template? I did not set up the original SuiteCRM v7 instance so am unsure what (if any) mods were done to it in the first place. The default_theme is set to suite8, as described below.

In the error_log file, I have:

PHP Warning:  chdir(): No such file or directory (errno 2) in /home/user/public_html/crmv8/public/index.php on line 43

image

Looking at this file, it seems that for some reason it does not believe ā€˜/legacyā€™ is a directory. I will try to change the file to output exactly what directory itā€™s trying to change to for further debugging

I tried accessing the CRM via a different browser (Firefox), and came across many more warnings than I had with Chrome. Lots of images that are not found, which could be related. I looked this up and only found one post, where the solution was to set default_theme in public/legacy/config.php to ā€˜suite8ā€™ - but it is already set to that.

If you have any ideas that would be wonderful. My next steps will be to try and sort the fatal error from suitecrm.log, then the warning from error_log, but if either of these scream ā€œIā€™m the issueā€ or you know the best way forwards please let me know as Iā€™m currently just stabbing at things in the dark

Cheers

Check your public/legacy/config.php settings

They can also be overridden in public/legacy/config_override.php if it exists.

Particularly, these values:

  • site_url
  • default_permissions

public/legacy/config_override.php exists but neither value is inside.

In my standard public/legacy/config.php file:

site_url is set to crmv8.domain.com (But our real domain, not the placeholder)
image

And default permissions:
image

Iā€™ve found out that I was wrong about a statement in my first post. I upgraded from 7.13 to 7.14 but did not fully check it was working. After upgrading to 7.14.1, nothing appears when I click onto the DetailView of a record (It opens the page for that record but no data or tabs are shown).

Iā€™m doing the upgrade via cli, and after it completes it says that this is a common error fixed by Repair > Rebuild Relationships. However this did not work for me (even after a quick repair & rebuild). I was using cli as I couldnā€™t get the Upgrade Wizard working so my next step might be trying to get the wizard working and doing it with a gui rather than cli

Iā€™ve returned the main instance back to our 7.13 backup, and will look at getting it upgraded to 7.14.1 (and fully working this time) before I proceed with the migration to 8.4.1

@fruition, Please keep us posted about your steps and working of 7.14.

Hereā€™s the latest on my progress:

  • From my fully working v7.13 backup, I made a clone onto a test server & updated the DB details to use the test DB in config.php
  • In the DB I deleted the record from ā€˜upgrade_historyā€™ table which said 7.14 upgrade had already been completed
  • Silent upgrade to latest 7.14 via CLI. I still had the DetailView problem. After some research this turned out to be due to some customisations in the ā€˜customā€™ folder, from the CRM admin before me. Looking through here there were custom versions of files from 2013/2014ā€¦ I deleted all files related to detailview in the custom folder, and ran a Quick repair + rebuild. This fixed the Detailview problem
  • Changed PHP from 7.4 to 8.1
  • CRM was not working on PHP 8.1, despite being supported. After some troubleshooting, I realised that phpinfo still reported the CRM as being on PHP 7.4. This was due to an override in two different .htaccess files. Once I deleted those lines from my .htaccess files the CRM used the correct version of PHP as set by the server, and worked correctly on v7.14

Now I am testing the current 7.14.1 instance is fully perfectly working, then will again attempt the migration to v8

1 Like

Thank you so much for sharing details about upgradation steps. As per below link, I think you could upgrade from 7.14.1 to 8.4.1.

I hope it will be smooth upgradation for you! :crossed_fingers: