Well, upgrade disaster finally happened. How can I fix?
Permalink
I posted about my troubles upgrading to the latest and greatest last two versions of Concrete5 but nobody actually provided me with a solution or a reason for my troubles. It didn't upgrade correctly because I had error messages and when I finally got that fixed, it never REALLY seemed to upgrade to 5.6.2 even after it said it was a "success" because it never showed the latest version, even after I upgraded it "successfully."
By the end of the mess, I had 2 duplicate sites in the root folder (one was a backup with a different name) and an updates folder with some stuff in it, I was told to leave there. All told, I had an enormous amount of wasted space from 2 duplicate sites and 2 update folders full of more duplicate sites.
Last week, I emptied the cache, turned off the cache and emptied my browser cache, then added a "z" to the different duplicate folders and by this not-genius method, I determined when the site broke that various folders were not the actual site being used... since the site only broke when I added "z" to one specific directory, that is the directory I kept.
I did deleted the duplicate in the ~root directory and everything worked fine. I don't recall deleting the updates folder, but I might have if "add a z to the directory and see if it breaks" strategy showed the site to work fine without them. Basically, I added "z" to any extra directory and navigated through my whole website using two different browsers with cleared cache and Concrete5's cache cleared and turned off. If it worked when these folders were renamed with an additional "z" in their titles, I figured that is an indication that those folders are not being used and I deleted them.
Well, the site that has been working for 2 weeks just fine, but suddenly tonight, I see it only shows the Login page rather than the homepage. When I login, it directs me to a "Page Not Found" page.
The database is still there, all the files are still there in the root directory.
The only thing I can assume is that it wants to point to the updates folder to the latest half-installed update that never properly installed and which is now missing.
... if so...
Is there a way I can get it to point back to whatever version is still in the root directory?
By the end of the mess, I had 2 duplicate sites in the root folder (one was a backup with a different name) and an updates folder with some stuff in it, I was told to leave there. All told, I had an enormous amount of wasted space from 2 duplicate sites and 2 update folders full of more duplicate sites.
Last week, I emptied the cache, turned off the cache and emptied my browser cache, then added a "z" to the different duplicate folders and by this not-genius method, I determined when the site broke that various folders were not the actual site being used... since the site only broke when I added "z" to one specific directory, that is the directory I kept.
I did deleted the duplicate in the ~root directory and everything worked fine. I don't recall deleting the updates folder, but I might have if "add a z to the directory and see if it breaks" strategy showed the site to work fine without them. Basically, I added "z" to any extra directory and navigated through my whole website using two different browsers with cleared cache and Concrete5's cache cleared and turned off. If it worked when these folders were renamed with an additional "z" in their titles, I figured that is an indication that those folders are not being used and I deleted them.
Well, the site that has been working for 2 weeks just fine, but suddenly tonight, I see it only shows the Login page rather than the homepage. When I login, it directs me to a "Page Not Found" page.
The database is still there, all the files are still there in the root directory.
The only thing I can assume is that it wants to point to the updates folder to the latest half-installed update that never properly installed and which is now missing.
... if so...
Is there a way I can get it to point back to whatever version is still in the root directory?
I find it really strange that it instead of any kind of homepage, it is defaulting to the login page. Index.php in my root directory looks the same as it does on all my other C5 websites... why would it default to login screen of all things?
Unless you have a backup from before the upgrade, you have probably tweaked too much stuff to simply remove the update line from config/site.
The reason you are now getting problems 2 weeks later is probably because that is how long your login lasts. Maybe other users have been getting the problems already, but you didn't know it.
This will not be something that will be easy to fix by remote control through the forums. All I can do is suggest general instructions and hope you can add the detail for yourself. Or get an expert to login and sort it out for you.
I would try downloading and unpacking concrete5 into the relevant updates folder as if doing a manual upgrade. That will give a complete and clean latest version of the core.
Then run the upgrade manually (there are instructions in the download zip)
Then check config/site contains the relevant upgrade pointer.
To get an manual upgrade to run, you may need to bodge the database and/or config/site to move the version it thinks is installed backwards, so the updater knows it is updating. An alternative is to update with something you know is ahead of where you were, which may only be a development version (which is itself a very dangerous idea).
The reason you are now getting problems 2 weeks later is probably because that is how long your login lasts. Maybe other users have been getting the problems already, but you didn't know it.
This will not be something that will be easy to fix by remote control through the forums. All I can do is suggest general instructions and hope you can add the detail for yourself. Or get an expert to login and sort it out for you.
I would try downloading and unpacking concrete5 into the relevant updates folder as if doing a manual upgrade. That will give a complete and clean latest version of the core.
Then run the upgrade manually (there are instructions in the download zip)
Then check config/site contains the relevant upgrade pointer.
To get an manual upgrade to run, you may need to bodge the database and/or config/site to move the version it thinks is installed backwards, so the updater knows it is updating. An alternative is to update with something you know is ahead of where you were, which may only be a development version (which is itself a very dangerous idea).
Thanks so much, John!
I was looking at the config/site.php file last night and it doesn't actually have an update line. It's just got this:
<?php
define('DB_SERVER', 'xxx.server.com');
define('DB_USERNAME', 'xxx');
define('DB_PASSWORD', 'xxx');
define('DB_DATABASE', 'xxx_database');
define('BASE_URL', 'http://www.xxx.com');
define('DIR_REL', '');
define('PASSWORD_SALT', 'xxxXXXXxxxXXXXxxXXXxXXXXXXXX');
define('CACHE_FRONTEND_OPTIONS', serialize(array('automatic_cleaning_factor' => 0)));
I was looking at the config/site.php file last night and it doesn't actually have an update line. It's just got this:
<?php
define('DB_SERVER', 'xxx.server.com');
define('DB_USERNAME', 'xxx');
define('DB_PASSWORD', 'xxx');
define('DB_DATABASE', 'xxx_database');
define('BASE_URL', 'http://www.xxx.com');
define('DIR_REL', '');
define('PASSWORD_SALT', 'xxxXXXXxxxXXXXxxXXXxXXXXXXXX');
define('CACHE_FRONTEND_OPTIONS', serialize(array('automatic_cleaning_factor' => 0)));
As long as you have an updated core in a subfolder of /updates/, you may be able to simply run the upgrade manually and recover something usable.
Before doing so, use phpMyAdmin to make a database backup.
Before doing so, use phpMyAdmin to make a database backup.
Thanks again.
The only problem with that is that the upgrade NEVER worked properly for 5.6.1 or anything higher. When I go to "http://www.mysite.com/index.php/tools/upgrade" it merely gives me the message:
"Upgrade to 5.5.2.1 complete!"
So, it is not doing anything different than it ever did. My guess is that it is giving me the same old wrong upgrade message, but maybe it did actually successfully upgrade to higher and higher versions.
I currently have two directories in my ~/updates/ folder now:
concrete5.5.2.1
concrete5.6.1
each one has the core "concrete" directory, but I am not getting any "Upgrade to 5.6.1 complete!" message... then again, I never did.
I guess I will try adding a 3rd directory to my updates folder for the latest version of C5 and see if running "http://www.mysite.com/index.php/tools/upgrade" gives me anything different.
If it works, I'll post it here for confirmation to anyone who might need it.
The only problem with that is that the upgrade NEVER worked properly for 5.6.1 or anything higher. When I go to "http://www.mysite.com/index.php/tools/upgrade" it merely gives me the message:
"Upgrade to 5.5.2.1 complete!"
So, it is not doing anything different than it ever did. My guess is that it is giving me the same old wrong upgrade message, but maybe it did actually successfully upgrade to higher and higher versions.
I currently have two directories in my ~/updates/ folder now:
concrete5.5.2.1
concrete5.6.1
each one has the core "concrete" directory, but I am not getting any "Upgrade to 5.6.1 complete!" message... then again, I never did.
I guess I will try adding a 3rd directory to my updates folder for the latest version of C5 and see if running "http://www.mysite.com/index.php/tools/upgrade" gives me anything different.
If it works, I'll post it here for confirmation to anyone who might need it.
FYI...
I reverted to an older version of the database from February which was from 5.5.2.1, I think (or the last release just before that). All I did was import this old database backup with phpMyAdmin and the site started working again.
Then, since I now had 3 versions of of Concrete5 in the ~/updates/ directory, I navigated to "www.mysite.com/index.php/tools/required/upgrade" and wonderfully I was greeted with a message that made sense: I have 3 upgrades waiting! I chose 5.6.1.2 and it worked perfectly.
I have no idea why it wouldn't work before when I tried to upgrade from 5.5.2.1 to 5.6.1.2, but it worked this time.
SOLVED!
I reverted to an older version of the database from February which was from 5.5.2.1, I think (or the last release just before that). All I did was import this old database backup with phpMyAdmin and the site started working again.
Then, since I now had 3 versions of of Concrete5 in the ~/updates/ directory, I navigated to "www.mysite.com/index.php/tools/required/upgrade" and wonderfully I was greeted with a message that made sense: I have 3 upgrades waiting! I chose 5.6.1.2 and it worked perfectly.
I have no idea why it wouldn't work before when I tried to upgrade from 5.5.2.1 to 5.6.1.2, but it worked this time.
SOLVED!
content="concrete5 - 5.5.2.1" />