I am trying to update an installation of Concrete from 8.2.1 to 9.2.1. The new version will be on a different server that supports a higher PHP version, so what I have tried to do is:
Install fresh version of Concrete 9.2.1
Export the database of the old site via PHPMyAdmin
Import that database into PHPMyAdmin of new site
Change database.php to reflect the appropriate database info
I am receiving the error:
“The cache directory must be published under the webroot (or you can set the concrete.cache.directory_relative configuration option)”
Is this due to a conflict between PHP versions? I’d really like to figure out a way to at least get a skeleton of the site copied over to avoid having to manually rebuild the pages. The theme files are the same.
In case anyone else runs into this problem, I turned off all caching before exporting the database. That fixed this error. Then I got a new error about canonicals – so I turned them ON in my local installation before importing the database, and that fixed that error. Now I have SQL errors that I am attempting to research.
Question: What is the recommended upgrade path? I.e. should I update to a different 8.x.x before 9.2.1?
From the process you describe, I would not expect that to work.
The process would normally be to update first. Importing an old version database into a new version code will likely have inconsistencies in the configuration. You may be lucky and get round that by using the CLI update command with the --rerun option, but there is a chance that could miss critical migrations. Its a bit of a long shot.
If not, go back to your 8.2.1 site, database and files, and update from within that site or manually from the CLI there.
In the 8.2.1 version, the Update page reads that there are “No updates are ready to be installed.” I have read elsewhere that this may be some kind of bug. Should I be able to upgrade to 8.5.14 using the “Replacing the original Concrete Directory (Version 8 and above)” method listed on the documentation page you linked to? Thanks again.