Update to 5.6.01 - Warning, fatal error and site inaccessible

Permalink 1 user found helpful
Hi

I've just updated my site to v5.06.01 after getting the email from Franz and now all my site shows is the following:

Warning: require_once(/home/sites/photoboffin.co.uk/public_html/updates/concrete5.6.0.1/concrete/models/json.php) [function.require-once]: failed to open stream: No such file or directory in /home/sites/photoboffin.co.uk/public_html/updates/concrete5.6.0.1/concrete/core/libraries/loader.php on line 40

Fatal error: require_once() [function.require]: Failed opening required '/home/sites/photoboffin.co.uk/public_html/updates/concrete5.6.0.1/concrete/models/json.php' (include_path='/home/sites/photoboffin.co.uk/public_html/libraries/3rdparty:/home/sites/photoboffin.co.uk/public_html/updates/concrete5.6.0.1/concrete/libraries/3rdparty:.:/usr/share/pear5') in /home/sites/photoboffin.co.uk/public_html/updates/concrete5.6.0.1/concrete/core/libraries/loader.php on line 40

What do I do now?

Thanks

Regards

Pete

peterfinch
 
danielromney replied on at Permalink Reply
danielromney
Sorry, no help here, but I do have the same problem.
Here is the errors I am getting from the update.
Warning: require_once(/home/danielromney/sites/www.danielromney.com/public_html/
updates/concrete5.6.0.1/concrete/models/json.php): failed to open stream: No such file or directory in
/home/danielromney/sites/www.danielromney.com/public_html/updates/concrete5.6.0.1/concrete/core/libraries/loader.php 
on line 40 Fatal error: require_once(): Failed opening required
'/home/danielromney/sites/www.danielromney.com/public_html/updates/concrete5.6.0.1/concrete/models/json.php' 
(include_path='/home/danielromney/sites/www.danielromney.com/public_html/libraries
/3rdparty:/home/danielromney/sites/www.danielromney.com/public_html/updates/conc
rete5.6.0.1/concrete/libraries/3rdparty:.:/usr/share/php:/usr/share/pear') in 
/home/danielromney/sites/www.danielromney.com/public_html/updates/concrete5.6.0.
1/concrete/core/libraries/loader.php on line 40
adrianspeyer replied on at Permalink Reply
adrianspeyer
The best idea would be to downgrade for now.

Hopefully your backedup your database. I would restore to your previous database (via your admin console), then open up config/site.php and change the line:

define('DIRNAME_APP_UPDATED', 'concrete5.6.0.1')


to you earliest known working copy. For example:

define('DIRNAME_APP_UPDATED', 'concrete5.5.2.1')


And then open the "Updates" folder and delete 'concrete5.6.0.1'

This will bring you back to the older version you have. I had to do the same after I realized 5.6.01 is not ready for prime-time.
EdwardMartinIII replied on at Permalink Reply
EdwardMartinIII
"This will bring you back to the older version you have. I had to do the same after I realized 5.6.01 is not ready for prime-time."

Oh dear -- it's not?

I've been unable to upgrade from 5.5.2.1 to 5.6.0.1 and been going nuts trying to figure out what I was doing wrong.
mhawke replied on at Permalink Reply
mhawke
@EdwardMartinIII, Have you posted your bugs in the Bug Tracker? They are picking off bugs pretty fast so I would recommend it. No software is perfect. Andrew and the crew have made astonishing changes and improvements in 5.6 so there's bound to be things that go wonky. If your site is 'mission critical', it's always recommended to upgrade your development environment first before a live site or wait until 5.6.1.
EdwardMartinIII replied on at Permalink Reply
EdwardMartinIII
No, I didn't really know about bug tracker.

I figured by the time my C5 installation was willing to tell me there was an upgrade, it would at least marginally work. A few bugs, sure, that makes sense, but this is a dead-in-the-water error.

I've backgraded safely and I'll probably just chill until 5.6.0.1 becomes workable.
mhawke replied on at Permalink Reply
mhawke
I guess my point is that 5.6 will never be perfect unless and until users report their specific errors. You will never be happy if you sit on your problem hoping that Andrew will magically solve it. If the error you're having was showing up on their development server, it would have been fixed long before they released 5.6 to the world.

C5 is a free, open source program where everyone pitches in to solve the inevitable problems that come with developing complex software.

I've upgraded 2 sites so far and when I reported issues on the Bug Tracker, Andrew told me how to fix it in my specific case. Where else on the planet do mere mortals like ourselves have direct and open access to the Lead Developer of a major software undertaking?
EdwardMartinIII replied on at Permalink Reply
EdwardMartinIII
Ah, well, it's true, you have a point.

The thing is, from what I can tell, 5.6 is still churning into place. Odds are excellent that the issue preventing me from upgrading is already being addressed (I search by looking for error messages).

If my error were something weird, but the upgrade was otherwise functional, then I'd pursue more deeply, but it's literally a dead-in-the-water thing, on my e-commerce site. So, for now, my time is better spent working on other things a few days to give the upgrade time to settle down.

Plenty of others appear to be reporting identical issues, and I try the things I read.
VidalThemes replied on at Permalink Best Answer Reply
VidalThemes
Hi, I just had the same problem, it appears the json.php file isnt where its expected to be, if you go to the following:

concrete>libraries>3rdparty>JSON.php

download the JSON.php file and rename it to json.php.

Then upload it to:

concrete>models

then go to your instillation root directory and look for config, in there find site.php if you have a piece of code that looks like this:

<?php define('DIRNAME_APP_UPDATED', 'concrete5.6.0.1');?>


Delete it!

go back to your site and refresh, if all has gone well your site should load up.
VidalThemes replied on at Permalink Reply
VidalThemes
Sorry should have said, this is on a manual upgrade, you may not have to delete:

<?php define('DIRNAME_APP_UPDATED', 'concrete5.6.0.1');?>


on a dashboard initiated upgrade:
eriadorain replied on at Permalink Reply
Hi,
I had the same problem and this fix worked. Thanks for posting it!

Now ... how can we ever update to the newest version of concrete5?
EdwardMartinIII replied on at Permalink Reply
EdwardMartinIII
I've renamed the json.php file, moved it to the right place, and cleaned the tricky line out of the site.php file.

I can now see the site.

But when I try to update via the interface, once again, the site cracks

Is there ANY way to upgrade to 5.6.0.1?
VidalThemes replied on at Permalink Reply
VidalThemes
Hi, this is the way I did it, please be aware this is at your own risk, I am not saying this is the absolute correct thing to do, just that it worked for me.

I went on my server and downloaded the root level "concrete" directory, and stored it in a folder, called old as a backup, I then went back on my server and deleted the "concrete" directory.

Next I downloaded a fresh copy of 5.6.0.1 from here on c5.org and removed the "concrete" directory from it, I then uploaded this to my server in place of the one I just deleted.

I then did the json.php swap as detailed in my earlier post.

The I returned to my browser and ran a manual upgrade:

http://www.your-concrete5-site.com/index.php/tools/required/upgrade


At this point my site errored out again, but removing the:

define('DIRNAME_APP_UPDATED', 'concrete5.6.0.1');


Line from site.php resolved this, I then got the upgrade success screen, I returned to my site, and at it had upgraded successfully with my site intact.

There is a great how-to from MattWaters on all aspects of upgrading which helped me out a lot
http://www.concrete5.org/documentation/how-tos/developers/manually-...
mhawke replied on at Permalink Reply
mhawke
Just to clarify, what Vidall performed was a manual update. When he says:

"Next I downloaded a fresh copy of 5.6.0.1 from here on c5.org and removed the "concrete" directory from it, I then uploaded this to my server in place of the one I just deleted."

What he means is that you extract just the 'concrete' folder out of the zip file and upload just this concrete folder to your server in place of the existing concrete folder.

I usually don't delete the existing concrete folder on my server right away. I would rename the concrete folder on my server to something like 'concrete5221' and upload the new concrete folder.
Korvin replied on at Permalink Reply
Korvin
When you upgrade to 5.6.0.1, it replaces your previous concrete directory, you'll need to upgrade, then follow these instructions.

It will probably also work to just clear your concrete5.6 site cache as in 5.6, we cache overrides.

Concrete5 is completely ready for "primetime" when we offer an upgrade, it is expected with the level of customization that people have with their sites that some sites will not be able to upgrade successfully. That being said, the problem you're seeing is easily solved with the options given.

Best wishes,
Korvin
peterfinch replied on at Permalink Reply
peterfinch
Hi Korvin

With any of the solutions here, 5.6.01 wouldn't load up my CSS. Also, the fatal error warning still persisted when trying to add a block. My only solution was to roll back to the previous version.

Pete
Korvin replied on at Permalink Reply
Korvin
Can you provide your environment info? I'm trying to narrow down the package that's incorrectly looking for a json model.

Best wishes,
Korvin
mhawke replied on at Permalink Reply
mhawke
Check Tweetcrete
peterfinch replied on at Permalink Reply
peterfinch
Hi Korvin

Here is my environment info (... and as Mhawke suggests, I am running Tweetcrete):

# concrete5 Version
5.5.2.1

# concrete5 Packages
AddThis (1.0), Advanced Comments (3.0), Amiant Image Gallery (0.5.2), Awkward Slider (1.0.3), ChadStrat's Live Search (2.0.1), Disqus Comments (0.4), Easy News (1.1), eCommerce (2.8.3), File/Image Details (2.03), Google Plus One (1.0), Image Banner (0.9.2), jShare (1.0), Login (1.1), Mailer (1.0.3), Mail Monkey (2.0.0), Multi-File Attribute (1.0), ProPhoto Browser (2.11), Simple Blog (3.1.4), Trans Marine Save Area To Pdf (0.9.3), Tweetcrete (1.6.0), Tweeter (1.0.10).

# concrete5 Overrides
blocks/sb_blog_list, blocks/form, blocks/external_form, blocks/survey, blocks/login, blocks/tony_file_details, blocks/guestbook, blocks/mail_monkey, elements/sidebar.php, elements/header_required.php, single_pages/page_not_found.php, single_pages/register.php, themes/plainyogurt, themes/default, themes/moldy_yogurt

# Server Software
Apache/2

# Server API
cgi-fcgi

# PHP Version
5.2.17

# PHP Extensions
bcmath, bz2, calendar, cgi-fcgi, ctype, curl, date, dbase, dom, exif, filter, ftp, gd, gettext, gmp, hash, iconv, imap, ionCube Loader, json, ldap, libxml, mbstring, mcrypt, mhash, mime_magic, mssql, mysql, mysqli, ncurses, odbc, openssl, pcntl, pcre, PDO, pdo_dblib, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, posix, pspell, readline, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, SQLite, standard, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend Optimizer, zip, zlib.

# PHP Settings
log_errors_max_len - 1024
max_execution_time - 5
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 60
memory_limit - 128M
post_max_size - 10M
safe_mode - Off
safe_mode_exec_dir - <i>no value</i>
safe_mode_gid - Off
safe_mode_include_dir - <i>no value</i>
sql.safe_mode - Off
upload_max_filesize - 10M
mssql.max_links - Unlimited
mssql.max_persistent - Unlimited
mssql.max_procs - Unlimited
mssql.textlimit - Server default
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 100000
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
safe_mode_allowed_env_vars - PHP_
safe_mode_protected_env_vars - LD_LIBRARY_PATH


Regards

Pete
jjdb210 replied on at Permalink Reply
jjdb210
Just a note: if you follow this method to downgrade, you may need to delete a column from the blocks table if you wish to install another block, otherwise you'll get an error when you try to install the new block about a column that was leftover on the blocks table from the upgrade.

As far as fixing it for upgrade, I posted this earlier today... I *think* they might be related, but have yet to confirm as I didn't have this exact problem when upgrading (but I'm also not making use of the JSON libraries in any of my blocks)

http://www.concrete5.org/community/forums/customizing_c5/fatal-erro...
hhockx replied on at Permalink Reply
hhockx
Great to have these forums around! I ran into this problem as well when updating one of my sites. The error only occurred on the one page that holds the login-link. All other pages were displaying just fine.
Anyhow: your answer was exactly what I needed to fix the problem. Thanks!
hhockx replied on at Permalink Reply
hhockx
After updating from 5.6.0.1 to 5.6.0.2 I experienced the same kind of error when updating to 5.6.0.1. To solve this I head to repeat the second step from Vidali's original post earlier in this thread (see:

http://www.concrete5.org/community/forums/installation/update-to-5.... )

after deleting:
<?php define('DIRNAME_APP_UPDATED', 'concrete5.6.0.2');?> in site.php everything worked OK.
mhawke replied on at Permalink Reply
mhawke
The way automatic upgrading works is that it just puts a 5.6 'concrete' folder under 'root/updates' and the line in the config file (the one you deleted) just tells C5 to use the core files in the new 'root/upgrade/concrete' folder instead. The problem I see with this solution is that you really haven't upgraded your site. If you open the 'root/concrete/config/version.php' file, it will tell you what version you are running.

Can you tell me exactly what your symptoms are when you try to upgrade. Copy and paste the exact screen contents you see when it crashes. We have to solve the root problem before any upgrading is possible.
hhockx replied on at Permalink Reply 1 Attachment
hhockx
You are right! After the update I checked the sourcecode on the homepage that had a line:

<meta name="generator" content="concrete5 - 5.6.0.2" />

that made me think the update was done. When I checked my other pages two of them would not load and produced an error-code. About the same thing that happened when I updated the site to 5.6.0.1 (although only one page failed at that occasion. Now it's the same page + a second one which was present earlier but didn't have any content at that time.)
So I tried the same trick that worked earlier, as described by Vitali and that solved the problem for 5.6.0.1. After reopening the site I checked the sourcecode again and found:

<meta name="generator" content="concrete5 - 5.6.0.1" />

Than I read your message. I decided to restore the backup that I made just before updating and start again. Restore ended with a white screen, no further action. I checked the sourcecode of the page and found a whole bunch of code that didn't give me a clue of what happened (if you think this is relevant for this problem but I dit copy this code).
The site did show up again and I was able run the update script. Now the site is on 5.6.0.2 again but two pages don't show. Both produce the same error codes. See attached screenshot for the codes.

I run another website running on the root domain on the same server. That site never gave problems like this when updating. I updated it the same day without problems.
Both sites were updated from the Concrete5 dashboard.
mhawke replied on at Permalink Reply
mhawke
If you compare your error message with the error message posted at the very start of this thread, you will see that they're the same. I know this thread has gotten convoluted so it's very hard to follow but here's what I would do if I was in your shoes.

Get rid of the Tweetcrete package.

I'm not sure what's working in your site and what's broken so I'll tell you the easy way first. If this process can't work, I have a 'brute force' method we can try next.

1) In your Dashboard, go to 'Extend Concrete5'.
2) Find Tweetcrete and click it's Edit button.
3) On the next page, click 'Remove' and agree to all the warnings saying that you will lose all Tweetcrete functionality (which is the point of this exercise).
4) Try forcing your site to upgrade again by adding this after your site's name in the address bar of your browser:
/index.php/tools/required/upgrade?force=1


So your URL will be something liken this: "www.yoursite.com/index.php/tools/required/upgrade?force=1"

You should get a message saying "Upgrade to 5.6.0.2 complete!"

6) Try to open your troubled pages.

If that works then you owe me a beer. If it doesn't work, then we'll move on to the brute force method.
peterfinch replied on at Permalink Reply
peterfinch
Hi Mhawke

Just for further info and thought on the topic, I've just removed Tweetcrete, updated to 5.6.0.2 (although the directory hasn't shown in /updates[?]), and my site layout was still broken - but differently than with Tweetcrete installed.

I'm happy with 5.5.2.1 for now, but I'll have to install one of the other twitter packages.

Regards

Pete
mhawke replied on at Permalink Reply
mhawke
Hey Peter,

Beautiful photography by the way! I live on Cape Breton Island so a lot of your scenes are familiar to me. Geologists believe our two continents were connected eons ago.http://goo.gl/zIBHB

What is in your updates folder? You say there is no concrete folder in there after you've updated to 5.6?
peterfinch replied on at Permalink Reply
peterfinch
Thanks Mhawke

You're more than welcome to register with my site and take part in Photo Comp!

I'll follow that link and check it out.

In my updates directory, as viewed through my ftp client, I have a sub directory for 5.6.0.1, but not for 5.6.0.2, but I guess the latter may be nested within the former? It's all rather beyond me.

Pete
peterfinch replied on at Permalink Reply
peterfinch
... Furthermore, after trying to replace Tweetcrete, it seems I currently cannot install any new addons to my site in its current 5.5.2.1 post 5.6.0.1 update state. What a shame, as I was planning on buying more in the forthcoming months ;-)

After trying to install Clevyr Tweets and Recent Tweets and getting an error message, I then tried reinstalling Tweetcrete and got the same thing:

mysql error: [1048: Column 'btDisplayOrder' cannot be null] in EXECUTE("INSERT INTO BlockTypes(btID,btHandle,btName,btDescription,btActiveWhenAdded,btCopyWhenPropagate,btIncludeAll,btIsInternal,btInterfaceWidth,btInterfaceHeight,pkgID,btDisplayOrder) VALUES (NULL,'jereme_tweetcrete','Tweetcrete','Add a Twitter feed to any page',1,0,0,0,'400','420','84',NULL)")

Pete
mhawke replied on at Permalink Reply
mhawke
@Pete,

Ok, Tweetcrete from the marketplace is defective so please don't try to install it. This will only add misery to your misery. If you have a Tweetcrete folder in your root/packages folder, I would delete it. The other Twitter packages are probably fine to leave in.

I think you are stuck half-way through an update. The 'btDisplayOrder' field referred to in the error message only exists in the 5.6 database. It looks like your core files are 5.6 but your database is still 5.5.

After removing the Tweetcrete folder, I would try forcing C5 to run through the update process again by pasting this address in your browser.

http://www.photoboffin.co.uk/index.php/tools/required/upgrade?force=1


This should rebuild your database so it has all the required fields in it for 5.6

I know you're nervous to upgrade but in fact you've already upgraded but your database doesn't know it yet.
hhockx replied on at Permalink Reply
hhockx
Hi Mhawke,

I'm afraid I need the brute force method. When I click the edit button to go to next page to remove Tweetcrete the page crashes, giving me a text-only menu without the option to remove Tweetcrete, a header text 'Inspect package', a Tweetcrete logo and the same error codes as shown when opening the affected webpage.
Your help is much appreciated!
mhawke replied on at Permalink Reply
mhawke
@hhockx,

1) First I would try to delete any Tweetcrete blocks that are on pages. You mentioned that these pages are crashing so you probably won't be able to delete the blocks but try anyways.

2) Delete the Tweetcrete folder for root/packages.

3) Open your database in phpMyAdmin from your host's Control Panel or use sqlBuddy (if you have that free package installed)

4) Find the BlockTypes table and open it.

5) Find Tweetcrete row and delete it.

6) Say a quick prayer and open the offending pages to see what happens.
hhockx replied on at Permalink Reply
hhockx
@mhawke
I tried the 'brute force' steps. As you already predicted the first step didn't work because the pages crashed on opening. I worked my way through steps 2 to 5. At step 6 my prayers we not good enough. When I tried to open the site a fatal error occurred...

At that point -having also read your conversation with Peter- I decided to go back to my latest 5.5.2.1 backup to bring the site back up. That worked and all pages were available. I deleted Tweetcrete from both pages that were using the block and was able to uninstall the package from the dashboard.
After that I updated the site again step by step to 5.6.0 > 5.6.0.1 and finally 5.6.0.2. The site now up and running again. Of course I lost some work on lay-out and content but that's a minor problem since this site is still very much 'under construction'.

It's a good thing to have a few backups available when updating to a new version ;-))
mhawke replied on at Permalink Reply
mhawke
Hey that was going to be my 3rd option!

Good you were able to walk through the upgrade(s) once Tweetcrete was out of the way. It's amazing how much grief can be caused by one incorrect word in one line of code in a package.
peterfinch replied on at Permalink Reply
peterfinch
Thanks again Mhawke

Having checked and found I didn't have a Tweetcrete folder, I ran that URL and then used the auto update for 5.6.0.2, and that did restore the display of the site content to 5.6, but the layout was broke; it looks like the CSS wasn't being picked up again.

Thanks again

Pete
mhawke replied on at Permalink Reply
mhawke
@peter,

You're back to the problem you originally had when you updated? Agh!!

So you've backed down again to 5.5? You site is reporting 5.5.2.1 as the version.

Just a random thought. There seems to be a couple of empty layouts on the 'Home', 'Tuition' and 'Tutorial' pages. Are these being used to push the paragraphs over intentionally or could this be an issue that the css is trying to deal with? Perhaps 5.6 handles empty layouts differently then in 5.5.
peterfinch replied on at Permalink Reply 1 Attachment
peterfinch
Hi Mhawke

Thanks for your help regarding all of this.

Yes, I've altered the reference in the site.php file to 5.5.2.1, but left the 5.6 folders in the update directory.

I'm not sure what you mean by empty layouts. I run some Google Adsense ads which are iframes in standard html blocks; perhaps you're not seeing them for some reason?

My theme is a based on the standard plain yogurt, and most pages use the left side bar page type.

Yes, 5.6 doesn't seem to be loading the main CSS from the theme, but there isn't any ambiguity to the style sheets or block layouts as far as I'm aware.

I've attached a screen snip of the home page for you to compare.

Thanks again

Pete
mhawke replied on at Permalink Reply 1 Attachment
mhawke
Sorry Pete, I'm an idiot. In my search for solutions, I failed to notice that my desktop computer was blocking your ads but my laptop computer shows them. I noticed the change but I forgot which computer I was on.

I had a look at your page structure and I think you're playing with fire by building the site with so many layouts. From watching the Totally Random videos that Andrew and Franz every Friday, they have mentioned several times that layouts were designed to be used in an emergency only by a client who just needed a quick layout change without involving their developer but they warn that using them too much can cause problems with conflicting CSS rules.

I have attached a screenshot of a typical page and you can see how many layouts are nested withing other layouts. The solution to this is to design page using divs that all play well together and then slip the ads and blocks into these well-behaved divs rather than cut the page up using layouts. Layouts are certainly easier but that ease comes at a price. 5.6 uses a lot of new CSS from the 'Twitter Bootstrap' system so I'm nervous that all your layouts are fighting with the CSS in 5.6.
peterfinch replied on at Permalink Reply 3 Attachments
peterfinch
Hi Mhawke

All that makes sense, because I used layouts extensively when creating the original pages - as you can see. However, the Articles page doesn't use layouts at all, and it uses Chadstat's Simple Blog page layout rather than the theme's left side bar. I've just run the update again and ran that url you provided, and all the pages, including the articles page, have broken layouts.

I've attached a few more screen shots to show the home page in 5.6 and the articles page in both 5.6 and 5.5.

I think it might be something to do with page types that have any sort of sidebar. My theme has a separate css file for left side bar, right side bar and default page layouts and it would appear that it's these files that aren't being picked up. My terms and conditions page has the default, full width page type and that displays fine in 5.6 - no sidebar to break.

I presume other themes do page types differently. As I only really fully understand static sites with just 1 css file, the multiple page types thing has always been a bit beyond me. Maybe I'll go for a completely new theme when I update to 5.6. I'm not sure what would be the least work.

Thanks again for all your help

Pete
LoudLite replied on at Permalink Reply
This answer worked for me, after several hours (and coffees) of try and test, and research

Thank you.
UncleSam replied on at Permalink Reply
Hello, I have the same problem, but, in my case, the message shows up whenever I try to add a block to a page (editing goes on smoothly). I never updated manually — all done by the internal script.

Warning: require_once(/home/bert/public_html/f-dot.ru/updates/concrete5.6.0.1/concrete/models/json.php) [function.require-once]: failed to open stream: No such file or directory in /home/bert/public_html/f-dot.ru/updates/concrete5.6.0.1/concrete/core/libraries/loader.php on line 40
Fatal error: require_once() [function.require]: Failed opening required '/home/bert/public_html/f-dot.ru/updates/concrete5.6.0.1/concrete/models/json.php' (include_path='/home/bert/public_html/f-dot.ru/libraries/3rdparty:/home/bert/public_html/f-dot.ru/updates/concrete5.6.0.1/concrete/libraries/3rdparty:.:/usr/lib/php:/usr/local/lib/php') in /home/bert/public_html/f-dot.ru/updates/concrete5.6.0.1/concrete/core/libraries/loader.php on line 40
hanicker replied on at Permalink Reply 1 Attachment
hanicker
Updating attached file (rename to .php) to updates/concrete5.6.0.1/concrete/models worked for me.
peterfinch replied on at Permalink Reply
peterfinch
Thanks Hanicker

This mod worked, but my site layout was broken. I use a modified version of the plain yogurt theme.

And thanks to all who have posted solutions and workarounds here. I'm not sure which method to try next ...

@Daniel Romney - I see you have your site up and running again; which method did you use?

Pete
hanicker replied on at Permalink Reply
hanicker
I think the reason of the broken layout is not related to this error. Can you post a link to the site?

Nick
peterfinch replied on at Permalink Reply
peterfinch
Hi Nick

My site url ishttp://www.photoboffin.co.uk - I've just taken it back out of maintenance mode for you to take a look.

All the stuff at the top should be in a side bar at the left. It was fine before the update.

Thanks

Pete
hanicker replied on at Permalink Reply
hanicker
Hi. You can go to maintenance mode again. I think this css is not
loaded (don't know why).
http://www.photoboffin.co.uk/index.php/tools/css/themes/plainyogurt...
also try adding
#page #central #body {
overflow:hidden;
}
You can add it as a block at the top of the page to test this solution.
HTML block:
<link rel="stylesheet" media="screen" type="text/css"
href="/index.php/tools/css/themes/plainyogurt/left_sidebar.css" />
<style type="text/css">
#page #central #body {
 overflow:hidden;
}
</style>

Of course this is a temporary solution. I think something is messed up
with page type (design).
If you don't know how to load the css let me know and I'll give you details.
Regards
Nick
peterfinch replied on at Permalink Reply
peterfinch
Hi Nick

Yes, it does look as though the CSS isn't loading, or not being called up (I no nothing of how content management systems work).

I tried adding that line of CSS to the main css file of my theme and later to the left-sidebar css, but neither made any difference.

What I have noticed is that the layout of other page types is broken too, such as my articles section:http://www.photoboffin.co.uk/articles/...

Also, when I try to add any block, I get the same fatal error warnings in the block pop-up window instead of the block list.

Thanks again for your help

Pete
hanicker replied on at Permalink Reply
hanicker
Please, can you try again adding following code at the end of
http://www.photoboffin.co.uk/index.php/tools/css/themes/plainyogurt...

#page #central #body {
   width:680px !important;
   padding: 10px 0px 10px 10px !important;
   float:right !important;
   overflow:hidden !important;
}
#page #central #sidebar{
   float:left !important;
   width:185px !important;
   overflow:hidden !important;
   background: rgb(250, 240, 190) !important;
   border-right: 1px solid rgb(80, 130, 180) !important;
   border-bottom: 1px solid rgb(80, 130, 180) !important;
   border-left: 1px solid rgb(80, 130, 180) !important;
   padding: 10px !important;


Regards
Nick
peterfinch replied on at Permalink Reply
peterfinch
Thanks Nick

That's mostly worked. However, a few presentational issues have resulted from the !important overrides, such as the background-image:none I added to prevent my content h2 graphic appearing in the sidebar, and the sidebar used to be on top of the header by a couple of pixels so the colour flowed from sidebar to header without the blue border showing; I guess it's now underneath. Also, the Simpleblog page layout on the articles section now, of course, has the left sidebar layout, having lost its original right sidebar in the update.

I could probably sort some of these minor display issues myself (eventually ;-) ), but the fatal error warnings are still preventing me from adding any blocks. I presume you can still add blocks on your site with 5.6.01?

Would I not be better rolling back to the previous version for now? And if so, what method would you recommend for a relatively non-techy guy?

Thanks again for all your help

Pete
peterfinch replied on at Permalink Reply
peterfinch
Hi and thanks to everyone in this discussion.

What I've done, for the time being, is to simply change the /config/site.php update reference to <?php define('DIRNAME_APP_UPDATED', 'concrete5.5.2.1');?>, IE, the last version.

Everything works fine now; the layout is as before, I have no fatal error warnings and I can add blocks to pages again.

I'd like to say a special thanks to Nick, who helped with the CSS to try to restore my site to some semblance of normality whilst I was still in 5.6.01 version.

I haven't restored my data and I haven't deleted the 5.6.01 update directory for now, and everything appears to be working fine - just as it was before the update. I don't know what the consequences will be for the future when another version is available.

I wouldn't have been able to do any of this without the input of people here in this discussion, as I know virtually nothing of how a content management system works; so thanks again to you all.

Pete
Pixelfixer replied on at Permalink Reply
Pixelfixer
Same problem. Just backed up my database and then downloaded then new version and clicked install. Now I get this when I try to access my site:

Warning: require_once(/home/mainidea/public_html/admin/packages/login/blocks/login/controller.php) [function.require-once]: failed to open stream: No such file or directory in /home/mainidea/public_html/admin/updates/concrete5.6.0.1/concrete/core/libraries/loader.php on line 205
Fatal error: require_once() [function.require]: Failed opening required '/home/mainidea/public_html/admin/packages/login/blocks/login/controller.php' (include_path='/home/mainidea/public_html/admin/libraries/3rdparty:/home/mainidea/public_html/admin/updates/concrete5.6.0.1/concrete/libraries/3rdparty:.:/usr/lib/php:/usr/local/lib/php') in /home/mainidea/public_html/admin/updates/concrete5.6.0.1/concrete/core/libraries/loader.php on line 205
Pixelfixer replied on at Permalink Reply
Pixelfixer
Same problem. Just backed up my database and then downloaded then new version and clicked install. Now I get this when I try to access my site:

Warning: require_once(/home/mainidea/public_html/admin/packages/login/blocks/login/controller.php) [function.require-once]: failed to open stream: No such file or directory in /home/mainidea/public_html/admin/updates/concrete5.6.0.1/concrete/core/libraries/loader.php on line 205

Fatal error: require_once() [function.require]: Failed opening required '/home/mainidea/public_html/admin/packages/login/blocks/login/controller.php' (include_path='/home/mainidea/public_html/admin/libraries/3rdparty:/home/mainidea/public_html/admin/updates/concrete5.6.0.1/concrete/libraries/3rdparty:.:/usr/lib/php:/usr/local/lib/php') in /home/mainidea/public_html/admin/updates/concrete5.6.0.1/concrete/core/libraries/loader.php on line 205
peterfinch replied on at Permalink Reply
peterfinch
Hi Pixelfixer

I'm certainly no programmer, and have little knowledge of content management systems, but I did start this discussion and have got my site back to how it was before trying to upgrade.

If you're familiar with FTP and the directories and files on your hosting server, just open the file from the root /config/site.php and change the last part of the code so it reads <?php define('DIRNAME_APP_UPDATED', 'concrete5.5.2.1');?>, IE, the last version - assuming that was your last installed version (you can check by looking at the last nested directory in "Updates" towards the bottom of the list).

As I've said previously in this topic, I'm not sure of the consequences when it comes to the next update, but I needed to get my site back up and working, and that worked for me.

Pete
EdwardMartinIII replied on at Permalink Reply
EdwardMartinIII
Yeah, I've been able to revert my site back to pre-attempt-at-upgrading, too.

But completing the upgrade -- that never succeeded.
Pixelfixer replied on at Permalink Reply
Pixelfixer
Thanks, I did follow the suggestion on this discussion to switch back to my previous version and that worked great. I will stand by and wait for this version to mature before attempting to upgrade again.
yulolimum replied on at Permalink Reply
yulolimum
Here is how I fixed it:
I am pretty sure the problem is coming from the new row in the 'config' table of the database called: "ENVIRONMENT_CACHE".

I installed on a local machine and pushed the website to staging, and I was having the error showing me my local path.

I went into config and found the row "ENVIRONMENT_CACHE" and cleared the "cfValue" column.

The site started working no problem.

Should fix your guys' as well (make sure to backup first).
SlapY replied on at Permalink Reply
SlapY
Got no environment cache row
ribenawrath replied on at Permalink Reply
Hey guys. I've got nothing to add to this thread, but I'm having the exact same issue with 5.6.0.2 and now I get a fatal error. The last time I made an update, it stopped my site from being editable. But now it's totally offline. What the hell!?

Some help with this would be great, thanks.

Warning: require_once(/home/c99media/public_html/rationale/updates/concrete5.6.0.2/concrete/models/json.php) [function.require-once]: failed to open stream: No such file or directory in /home/c99media/public_html/rationale/updates/concrete5.6.0.2/concrete/core/libraries/loader.php on line 40

Fatal error: require_once() [function.require]: Failed opening required '/home/c99media/public_html/rationale/updates/concrete5.6.0.2/concrete/models/json.php' (include_path='/home/c99media/public_html/rationale/libraries/3rdparty:/home/c99media/public_html/rationale/updates/concrete5.6.0.2/concrete/libraries/3rdparty:.:/usr/local/php52/pear') in /home/c99media/public_html/rationale/updates/concrete5.6.0.2/concrete/core/libraries/loader.php on line 40
CDMadmin replied on at Permalink Reply
Did you get this sorted out? It's issues like these that make me nervous about upgrading my clients' websites. If there were more responses from Franz and other officials helping to work it out, I'd be more comfortable taking the plunge.
JohntheFish replied on at Permalink Reply
JohntheFish
No two sites are ever exactly the same, so its impossible to create an upgrade process that will work flawlessly for every site out there,

The best way to take the risk out out of upgrading is to make a clone of the site and practice on that. If it goes wrong make more clones and practice again. Only once you know everything you need to upgrade the clone smoothly to then upgrade the actual site.

In the process of making the clone, that also gives you a complete backup of the pre-upgrade site, so should anything go wrong you can always rebuild from that.

Too many of these unfortunate situations of upgrades going wrong come from people who neglect to make a full backup before upgrading, and hence have no way of simply stepping back.
Phallanx replied on at Permalink Reply
Phallanx
@JohntheFish
[quote]
No two sites are ever exactly the same, so its impossible to create an upgrade process that will work flawlessly for every site out there
[/quote]
Whilst this sort of true. There are a couple techniques that could be included in the installation script that would reduce a vast number of the issues and make it easier to revert if things go wrong.

1) Ignore overrides when updating.
2) Turn off caching and delete all cache files.
3) Check all DB fields against the expected ones and, if not present, alter the table to suit rather than relying on the XML system. It would mean you can update straight to the latest without having to do interim upgrades.
4) Make a backup of the DB instead of relying on the user to make one and have a "revert" script independent to the concrete5 core to apply the backup and remove the entry in the site.php and any other changes. If an error occurs, give the user the alternative to Force or Revert.
5) Addons that do not report that they are written for the upgrade version are disabled prior to upgrading and a list of incompatible addons presented to the user (for information before proceeding). After upgrading the disabled addons are flagged in the addons list with the option to override at your own risk or attempt to find an upgraded version.
Themagicianinmind replied on at Permalink Reply
Hi I just got the same errors I beleive for my site at mediumalain.com

define ('BASE_URL = "http://mediumalain.com") define ('BASE_URL = "http://mediumalain.com")
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home1/keepusin/public_html/mediumalain/config/site.php:23) in /home1/keepusin/public_html/mediumalain/updates/concrete5.6.2.1_updater/concrete/startup/session.php on line 36

Warning: Cannot modify header information - headers already sent by (output started at /home1/keepusin/public_html/mediumalain/config/site.php:23) in /home1/keepusin/public_html/mediumalain/updates/concrete5.6.2.1_updater/concrete/core/libraries/view.php on line 653


Says unable to connect to database
I am using bluehost but not sure exactly how to proceed. This site was transferred from another site. It worked perfectly good until it went to the updater

can anyone help ?
Thanks
mhawke replied on at Permalink Reply
mhawke
This is already a long convoluted thread so I would suggest posting the question as a new topic. The error messages you are getting are not the same as the ones in this thread.

That being said, have a good look at your config/site.php and make sure the file starts with <?php at the very top (no blank lines above the <?php )

and make sure every define(); line ends with a semi-colon.

Also, it looks like you might be defining the BASE_URL twice in the site.php file but that won't cause the errors.
Themagicianinmind replied on at Permalink Reply
Thanks I just checked and all is accordind to what you wrote. I did go back and do a downgrade but it does not seem to work so not sure what is about

Thank you for your hep mhawke