(Resolved) A lot of issues upgrading from 5.5.2.1 to 5.6.x. Any help appreciated!

Permalink
Hello

I'm currently updating a very old website from 5.4.x to 5.6.3.3. So far I've been able to upgrade to 5.5.2.1 locally without problems.

But upgrading from 5.5.2.1 to 5.6.x causes a lot of problems. I've tried updating directly to 5.6.3.3, which the backend suggests, as well as 5.6.0, 5.6.0.1 and 5.6.0.2 with no luck.


The problem is that when i click "Download", Concrete5 downloads 5.6.3.2. Not the advertised 5.6.3.3. After the download has completed, nothing happens. I can't click update, I can only click the download button again. However Concrete5 does download the 5.6.3.2 update.

I've tried running the upgrade script manually. The manual upgrade script returns this message:

"Upgrade concrete5
Your site is already up to date! The current version of Concrete5 is 5.5.2.1. You should remove this file for security.

Back to Home

Click here if you would like to re-run this script."

So I click and "?force=1" is added to the URL. This returns:

"Upgrade to 5.5.2.1 complete!"

That's with <?php define('DIRNAME_APP_UPDATED', 'concrete5.5.2.1');?> in the site.php. If I remove that and run it like this guides suggests (http://www.concrete5.org/documentation/how-tos/developers/manually-upgrade-concrete5/), I only get blank pages and cannot run the upgrade script manually. I've tried both methods mentioned in the guide without luck, and I've also tried different versions of 5.6.

So my next step was to download 5.6.3.3 manually and place it in the updates folder. Now the update page returns:

"Install Local Update

Make sure you backup your database before updating.
Several updates are available. Please choose the desired update from the list below.

CURRENT VERSION 5.5.2.1
5.6.0.2
5.6.3.2
5.6.3.3"

Choosing any of these returns a blank page because the script changes the site.php file with a new dirname. It's like the dirname change happens before the script updates the database and therefore nothing happens. The process stops and all pages are blank.

Now this is where I'm stuck. Right now I have no idea how to get the update script started. Any help is appreciated!



Technical information:

I'm using a local server (MAMP) with:
PHP: 5.5.18
MySQL: 5.5.38
Apache: 2.2.29
Caching: Completely turned off
Pretty URLs: Turned off


Environment information:
# concrete5 Version
5.5.2.1

# concrete5 Pakker
Database Case Sensitivity Migration (1.1.2), Extended Form (2.4).

# concrete5 Overrides
blocks/autonav, blocks/catalogue_item, blocks/google_map, jobs/index_search.php.DONOTUSE, languages/da_DK, libraries/request.php, themes/compower-theme

# Software på webserver
Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8 PHP/5.5.18 mod_ssl/2.2.29 OpenSSL/0.9.8zd DAV/2 mod_perl/2.0.8 Perl/v5.20.0

# Webservers API
apache2handler

# PHP version
5.5.18

# PHP udvidelser
apache2handler, bcmath, bz2, calendar, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, imap, intl, json, ldap, libxml, mbstring, mcrypt, mysql, mysqli, openssl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, Reflection, session, SimpleXML, soap, sockets, SPL, sqlite3, standard, tokenizer, wddx, xml, xmlreader, xmlwriter, xsl, yaz, zip, zlib.

# PHP indstillinger
log_errors_max_len - 1024
max_execution_time - 5
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 128M
post_max_size - 128M
sql.safe_mode - Off
upload_max_filesize - 128M
ldap.max_links - Unlimited
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - nocache
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5

lundco99
 
mnakalay replied on at Permalink Reply
mnakalay
It sounds like you didn't try to revert back to previously working step in your process.

As pointed out during the upgrade process you should backup files and database before upgrading.

Whenever an upgrade fails, first thing is ti use your backup to revert to the previous state.

I remember experiencing difficulties trying to upgrade directly to the last version. If I remember well, I had to upgrade from 5.5.2.1 to 5.6.2.1 first and then to 5.6.3.1 but that might have been a fluke.

I suggest you read these 2 articles, they might be of help:
http://www.concrete5.org/documentation/how-tos/developers/manually-...
http://www.concrete5.org/documentation/how-tos/developers/update-ve...
lundco99 replied on at Permalink Reply
lundco99
Alright. So when an upgrade fails chances are that something has been changed in the database?

I have several backups and also the initial backup of the current live site, so it's no problem going back.

The local site is working though if I just revert the dirname in site.php after a failed upgrade.

I have already read and donehttp://www.concrete5.org/documentation/how-tos/developers/manually-... with no luck, but I guess i'll start from scratch withhttp://www.concrete5.org/documentation/how-tos/developers/update-ve... Currently that's my only option as far as I know.
exchangecore replied on at Permalink Reply
exchangecore
When/If an install fails to fully revert you need to not only change the DIRNAME_APP_UPDATED but also restore you database backup.

I've also occasionally had luck with renaming the /concrete/ directory to something like /concrete2/ and then moving the updates /concrete/ directory and removing the DIRNAME_APP_UPDATED config setting, then running the force upgrade.

For a full guide on restoring a backup after a failed upgrade please seehttps://www.exchangecore.com/blog/restore-concrete5-backup-after-fai...

Hope that helps.
mnakalay replied on at Permalink Reply
mnakalay
Yes, when you (try to) upgrade, 3 things happen:
- database is changed => only reversible if you have a backup
- files are added to the updates folder
- line added to site.php => just delete or change

Strating from the working stage, just try to upgrade one version at a time and backup database before each. Time-consuming but safer.
hutman replied on at Permalink Reply
hutman
In the past I have had the most success upgrading from 5.5.2.1 to 5.6.0 then 5.6.3 then 5.6.3.3
lundco99 replied on at Permalink Reply
lundco99
Okay. I'll start from scratch again and see how it turns out.
lundco99 replied on at Permalink Reply 1 Attachment
lundco99
Okay so I've followed this guide closely:http://www.concrete5.org/documentation/how-tos/developers/update-ve... . I downloaded the files and the database and set it all up locally using mamp. I've backed up the database and files after each upgrade step (see attached image), so that I can revert.

Everything worked perfectly from 5.4.2.1 to 5.5.2.1, upgrading one version at a time. But the upgrade to 5.6.0, following exactly the same method, returns a blank screen. Nothing happens. No errors messages, not even a single line of code. The whole website is broken. All pages are blank. There's no dirname change in the site.php file, so that's not the reason.

The SITE_APP_VERSION in the database is still 5.5.2.1. What bugs me is, that there are no error messages. Even if the database is corrupt, something should show up, right?

Is the index.php/tools/required/upgrade/ url different in 5.6.0?

[Update] - After reverting the installation, I've also tried upgrading from 5.5.2.1 to 5.6.0.1 instead of 5.6.0 Same problem.
lundco99 replied on at Permalink Reply 1 Attachment
lundco99
Finally something happens. After reverting once again I made another attempt from 5.5.2.1 to 5.6.1. Now I get a mysql error related to permissions. The permission system was changed in 5.6.0 and I've read other forum posts about permission related problems from 5.5 to 5.6.

Error message is attached. I still don't know what to do though, but I'll keep trying out anything that comes to my mind.
JohntheFish replied on at Permalink Reply
JohntheFish
That looks like an issue of lowercase table names vs properly camelCasedTableNames. Have you moved to/from windows at any stage?
lundco99 replied on at Permalink Reply
lundco99
No, I haven't, but you're absolutely right about lower case table names. They are mostly lower case. I have dealt with the Windows/Mac case sensitivity problem before, but since the starting point was in all lower case, I just wanted to follow the guide before changing stuff like that.

I'll convert the tables now and see if that helps.
lundco99 replied on at Permalink Reply
lundco99
And we're back to the blank page. :/
exchangecore replied on at Permalink Reply
exchangecore
The blank page is most likely a PHP error being supressed. Can you check your PHP error log for the error?
lundco99 replied on at Permalink Reply 1 Attachment
lundco99
Good idea.

These are the errors I've got for the last ~5 hours. (Attached image).

This is the error i just got after a fresh revert, converting the database to case sensitive tables and attempting index.php/tools/required/upgrade/ from 5.5.2.1 to 5.6.1.

[22-Apr-2015 14:24:15 Europe/Copenhagen] PHP Fatal error: Call to undefined method Request::hasCustomRequestUser() in /Applications/MAMP/htdocs/lundco/compower/concrete/core/models/user.php on line 177
exchangecore replied on at Permalink Best Answer Reply
exchangecore
Now we're getting somewhere:

http://www.concrete5.org/community/forums/installation/update-probl...

Edit: Also 5.5.2.1 to 5.6.1 is more of a jump than I would usually make. I'd try going straight up to 5.6.0.2 from there at the most.
lundco99 replied on at Permalink Reply
lundco99
Holy mother of god! That did it! Thank you so much and everyone else for helping out!

Yea, I know. I upgraded from 5.5.2.1 to 5.6.0 before, but that didn't get me anywhere, but upgrading to 5.6.1 gave me som mysql errors, so I wen't for 5.6.1.

For anyone stuck with the same problem, here's the solution:

You have to remove the [root]/libraries/request.php file and the manually start the upgrade again with
http://site/index.php/tools/required/upgrade/


http://www.concrete5.org/community/forums/installation/update-probl...

[Update] Now fully updated the website to 5.6.3.3 without further issues.
labbeth replied on at Permalink Reply
Hello,

I think I am having the same problem trying to update from 5.5.2.1 to 5.6.x
Nevertheless I'll try to do what is written in the thread without sucess. could you please tell me:
- Which request.php file do I have to delete?
The one in www/updates/concrete5.5.2.1/concrete/libraries?
or in www/updates/concrete5.6.x/concrete/libraries?
or in www/concrete/libraries?

- Moreover, do I have to force the 'DIRNAME_APP_UPDATED' to 'concrete5.6.x'?

Thx in advance