1

I have a live site currently down with the message:

{!-- ra:00000000638f5ffd00000000469f18aa --} Fatal error: Cannot use object of type stdClass as array in /xxx/system/expressionengine/libraries/Functions.php(688) : eval()'d code on line 33

Added a channel entry yesterday and I know the site worked fine after that yesterday afternoon. This morning the site was down with that error so no obvious cause.

The admin section still works, running ExpressionEngine v2.9.2

2
  • Did you upload a large image or was your entry just text. Try disabling extensions to see if they're in play. Apr 28, 2015 at 13:21
  • 3
    Your problem lies with a template where you have PHP enabled, and is likely around line 33 of that template. Start there. Apr 28, 2015 at 14:23

2 Answers 2

3

This is a PHP parse error. It's exactly what Derek Hogue said. On line 33 you are trying to use a stdClass as an array in some functionality on a template that has PHP parsing turned on.

EE template:

Hello from {site_url}!

<?php
$stdclassvar = new stdClass;
echo gettype($stdclassvar);
// this outputs "object"

$arrayvar = array();
echo gettype($arrayvar);
// this outputs "array"

// ... down to line 33 on your template, you are confusing these two types
// here's an example that will give your error:

$stdclassvar['random_key'] = 'random_value';
// this kills the crab (PHP parser)   
?>

Goodbye from {site_url}!

The function from Functions.php is part of EE's template evaluater. Please review your template and PHP code, or post it with your answer so we can fix it for you. I tested the exact code above and got your error:

{!-- ra:000000004a226f8000007f5841b7ebd8 --} Hello from {site_url}!     objectarray
Fatal error: Cannot use object of type stdClass as array in     /var/www/html/system/expressionengine/libraries/Functions.php(688) : eval()'d code on line 15
0

Thanks for pointing me in the right direction! It was indeed a php enabled template causing the issue. I was at a loss as I hadn't changed anything to cause the error from the site working which made me think it was another issue. The error was in a php script that uses the twitter api to show latest tweets on the site. It turned out my client had changed their twitter username without me knowing and that was causing the error in the script.

2
  • No problem! I would appreciate an upvote for my answer (I really want to be a good contributer in this community) but I don't mean to beg. If that is an addon, you should file a bug with the author, or modify that script to catch that type error!
    – jrothafer
    Apr 29, 2015 at 12:29
  • I don't have the reputation to up vote yet but I will when I can. I have ticked though. It wasn't and add on but a script my colleague wrote. We will have to look at catching the error as you say! Apr 29, 2015 at 15:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.