Hello everyone, I did upgrade from 7.7.8 to 7.8.31 without problem but the next step from 7.8.31 to 7.10.27 after copying files stage in brings blank page, I tried to delete old upgrades and the page again work but when I found the process in the same stage in become blank again without some critical errors, any idea how I can make the last step? I read a lot of solutions here and tried them but any of them didnât work
Hey,
What errors appeared?
Would you be able to pass over a screenshot of the errors on-screen?
Also, do you get any errors in either the SuiteCRM.log, upgradeWizard.log or your apache log files, around the time of the upgrade that might help?
Another thing worth checking is that your instance is still using a compatible version of PHP/SQL/etc
As far as I can see on the compatibility matrix, Suite 7.11 is no longer marked as being compatible for PHP 5.5: https://docs.suitecrm.com/admin/compatibility-matrix/
Hello John,
php version is 7.1
DB maria 10.2
suitecrm.log
Mon Aug 17 17:02:50 2020 [9359][51759430-6697-ef5a-5e01-57ea3edea1b9][FATAL] IP Address mismatch: SESSION IP: CLIENT IP:
Mon Aug 17 17:41:30 2020 [13629][cba7a452-614f-6fe7-fac8-5e709c7096fd][FATAL] ERROR: rmdir_recursive(): argument cache/themes/SuiteP/modules is not a file or a dir.
Mon Aug 17 17:41:30 2020 [13629][cba7a452-614f-6fe7-fac8-5e709c7096fd][FATAL] ERROR: rmdir_recursive(): argument cache/themes/SuiteR_old/modules is not a file or a dir.
Mon Aug 17 17:41:30 2020 [13629][cba7a452-614f-6fe7-fac8-5e709c7096fd][FATAL] ERROR: rmdir_recursive(): argument cache/themes/Suite7/modules is not a file or a dir.
upgradeWizard.log
âŚ
Mon, 17 Aug 2020 17:37:49 +0300 [UpgradeWizard] - file backup done.
Mon, 17 Aug 2020 17:37:49 +0300 [UpgradeWizard] - Running pre_install()âŚ
Mon, 17 Aug 2020 17:37:49 +0300 [UpgradeWizard] - pre_install() done.
I join in upgradewizard which is blank and the code is this
Tue, 18 Aug 2020 08:18:26 +0300 [UpgradeWizard] - setting session variablesâŚ
Tue, 18 Aug 2020 08:18:26 +0300 [UpgradeWizard] - [At commit.php]
Tue, 18 Aug 2020 08:18:26 +0300 [UpgradeWizard] - Setting error_reporting() to E_ERROR while running upgrade
For Upgrade SuiteCRM from old version to new version, Needs to Download Upgrade zip from following link,
SuiteCRM Upgradation Zip Download
Steps For Installing Upgradation Zip :
Notes: Before installing Upgradation Zip, please take your SuiteCRM and Database backup first.
Upgrade SuiteCRM 7.7.9 to 7.8.31 :
- To open the Administration Page, Click on the Admin tab as shown in below screenshot.
- Open Administration page, Click on âUpgrade Wizardâ from the System Section.
- After clicking on âUpgrade Wizardâ, the welcome page will be open. Click on âNextâ Button from this page.
- After Click on âNextâ Button, it displays the System Checks page.
- Click on the âNextâ Button if the system check is successful. Once you click on the âNextâ Button, itâll display the âUpload an Upgrade pageâ.
- From the âUpload and Upgradeâ page, click on âBrowseâ Button to Install the Upgradation zip and click on âUpload Packageâ Button.
- Once you click on the âUpload Packageâ Button , itâll be shown like the screenshot below. After successfully importing zip, click on âNextâ Button.
- Once you click on âNextâ Button, It displays the âPreflight Checkâ page. Click âRecheckâ to return âPreflight Checkâ. Click Next to skip this step.
When you click on the âNextâ button, it displays the âCommit Upgradeâ page.
- You can also click on âShowâ to see a list of files that were copied and the rebuilt results.
- Click on the âNextâ Button from the âCommit Upgradeâ page, itâll display confirm layout(Debrief) Page.
Click on âDoneâ Button from âDebriefâ Page and itâll redirect to the CRM About page.
Note : After Upgrade SuiteCRM-7.7.9 to 7.8.31 logout from your CRM and Login again.
Upgrade SuiteCRM 7.8.31 to 7.10.27 :
- To open the Administration Page, Click on the Admin tab as shown in below screenshot.
- Open Administration page, Click on âUpgrade Wizardâ from the System Section.
- After clicking on âUpgrade Wizardâ, the welcome page will be open. Click on âNextâ Button from this page.
- After Click on âNextâ Button, it displays the System Checks page.
- Click on the âNextâ Button if the system check is successful. Once you click on the âNextâ Button, itâll display the âUpload an Upgrade pageâ.
- From the âUpload and Upgradeâ page, click on âBrowseâ Button to Install the Upgradation zip and click on âUpload Packageâ Button.
- Once you click on the âUpload Packageâ Button , itâll be shown like the screenshot below. After successfully importing zip, click on âNextâ Button.
- Once you click on âNextâ Button, It displays the âPreflight Checkâ page. On this page display one Notice as shown in the below screenshot.
For Remove that Notice, open the file which was mentioned in Notice and update the changes as per suggestion in the below screenshot.
Before Change that line :
After Change that line :
After changes on that line, Reload the Page & Notice Will be removed from âPreflight Checkâ Page.
When you click on the âNextâ button, it displays the following page as shown in below screenshot.
After giving permission on CRM and Refresh page, it displays the following Warning and Fatal Error as shown in the below screenshot.
For Removing Warning and Fatal Error, you needs to replace upload_file.php and Add other file as listed below :
- include/upload_file.php
- include/UploadFile.php
- include/UploadMultipleFiles.php
- include/UploadStream.php
You can copy the above files from any SuiteCRM Version 7.10.* Instance(CRM) and Upload in CRM which youâre upgrading.
After adding these files, Refresh Page and it displays the âCommit Upgradeâ page.
- Click on the âNextâ Button from the âCommit Upgradeâ page, itâll display the confirm layout(Debrief) Page.
Click on âDoneâ Button from âDebriefâ Page and itâll redirect to the CRM About page.
I hope it helps you
Just a couple of comments on this nice tutorial:
-
Itâs recommended to turn off
display_errors
in yourphp.ini
. You shouldnât be getting notices on screen, but only in the logs. Having them showing on screen sometimes causes bugs. -
That code change isnât entirely equivalent - you need to check first if it
isset
, and then you need to test its boolean value.
Hello everyone, thank you for your reply, I tried everything you suggested but the result is the same, same error as before
Hi @pgr
Thank you for your kind Suggestion
- I am not exactly agree with it. I think display_errors must be turn on because we can find what is the problem in code
2)Itâs default code of SuiteCRM. I didnât changed anything in it
Feel free to ask me any questions if you have
Thank you
Urvi
-
You can leave it on in a development server. But I always turn it off and keep a window open to check the logs, they have more information. On a production server, you really shouldnât, because PHP messages will come at any random point in the output; if they align with the HTML, you read them on screen, but if they donât, they can break HTML, Javascript, and cause random bugs. They also cause corrupt PDFâs (lots of cases of this in the Forums).
-
I meant this change you propose above:
Hi @pgr
what I understand like During Upgrade SuiteCRM 7.8.31 to 7.10.27, In Preflight Check Page, itâll check if the âadditional_stepâ parameter is set or not. If itâs not set then itâll include the file which is mentioned in the screenshot. So In SuiteCRM Default Code, they added a line like if(!$_REQUEST[âadditional_stepâ]) but itâs giving Notice on CRM and itâll not check if the parameter is set or not. So we have replace line with isset function of PHP for checking parameter is set or not
Please correct me, if I m understanding wrong.
Thank You
Urvi
Hi @Urvi
yes, youâre going in the right direction, checking with isset. But you need to keep the semantics of the condition the same as before, so that the code executes in the same way (apart from the warning) no matter how it is called. Thatâs the only way we can safely change complex (and sometimes very badly written) code without risking new bugs. And since PHP is very loose with types, you need to be very careful. You have to assume that $_REQUEST['additional_step']
can be null, zero, a string, an array, etc.
For example, in your change, if the variable is set, and evaluates to false
, the old code would run the require, but the new one would skip it.
The correct change would be to this
if (!isset($_REQUEST['additional_step']) ||
(!$_REQUEST['additional_step'])) {
require('modules/UpgradeWizard/'.$upgradeStepFile.'.php');
}