(Resolved) A lot of issues upgrading from 18.104.22.168 to 5.6.x. Any help appreciated!
I'm currently updating a very old website from 5.4.x to 22.214.171.124. So far I've been able to upgrade to 126.96.36.199 locally without problems.
But upgrading from 188.8.131.52 to 5.6.x causes a lot of problems. I've tried updating directly to 184.108.40.206, which the backend suggests, as well as 5.6.0, 220.127.116.11 and 18.104.22.168 with no luck.
The problem is that when i click "Download", Concrete5 downloads 22.214.171.124. Not the advertised 126.96.36.199. 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 188.8.131.52 update.
I've tried running the upgrade script manually. The manual upgrade script returns this message:
Your site is already up to date! The current version of Concrete5 is 184.108.40.206. 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 220.127.116.11 complete!"
That's with <?php define('DIRNAME_APP_UPDATED', 'concrete18.104.22.168');?> 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 22.214.171.124 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 126.96.36.199
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!
I'm using a local server (MAMP) with:
Caching: Completely turned off
Pretty URLs: Turned off
# concrete5 Version
# 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
# PHP version
# 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
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 188.8.131.52 to 184.108.40.206 first and then to 220.127.116.11 but that might have been a fluke.
I suggest you read these 2 articles, they might be of help:
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.
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.
- 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.
Everything worked perfectly from 18.104.22.168 to 22.214.171.124, 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 126.96.36.199. 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 188.8.131.52 to 184.108.40.206 instead of 5.6.0 Same problem.
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.
I'll convert the tables now and see if that helps.
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 220.127.116.11 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
Edit: Also 18.104.22.168 to 5.6.1 is more of a jump than I would usually make. I'd try going straight up to 22.214.171.124 from there at the most.
Yea, I know. I upgraded from 126.96.36.199 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
[Update] Now fully updated the website to 188.8.131.52 without further issues.