Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Admin login page shows "reset() expects parameter 1 to be array, boolean given"

  • bobbyfiend
  • bobbyfiend's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 years 6 months ago #127360 by bobbyfiend
Hi. My LimeSurvey login page has gone AWOL, giving me a PHP error I don't know how to interpret (I don't know PHP), and googling of what look like the keywords and error message isn't giving me relevant information, so far.

I upgraded LimeSurvey a few weeks ago to version 2.06 (version.php says "2.06+") by copying files onto my server, after comfort update crashed (I don't remember exactly how, but the entire site was unusable and I decided to just install fresh after a few hours of unprofitable attempts to fix it). I might have left some config files from the first install, due to this being installed on shared hosting and having to tweak some things to make it work in that environment.

For at least a few logins after the update, everything seemed fine except that I couldn't get one survey to work properly--it would throw an error after a page or two of questions. Now I can't login. I try the formerly-working login page: <myUserName>.com/lime/admin/index.php and it throws a PHP error.

I know this isn't enough information for a full diagnosis, but I'd be grateful if anyone can help me at least get my login page back and get things running again; then there's a chance I can solve later issues on my own, or at least ask for much more detailed help.

Oh, and I think I turned on a debugging option of some kind before this all went pear-shaped. The text I get when I try to access my former admin login page is below:


PHP warning

reset() expects parameter 1 to be array, boolean given

Code:
/home/<myUserName>/webapps/my_lime/application/helpers/common_helper.php(5254)
 
5242         switch ($sUpdateNotificationType)
5243         {
5244             case 'stable':
5245                 // Only show update if in stable (master) branch
5246                 if (isset($aUpdateVersions['master'])) {
5247                     $aUpdateVersion=$aUpdateVersions['master'];
5248                     $aUpdateVersions=array_intersect_key($aUpdateVersions,array('master'=>'1'));
5249                 }
5250                 break;
5251 
5252             case 'both':
5253                 // Show first available update
5254                 $aUpdateVersion=reset($aUpdateVersions);
5255                 break;
5256 
5257             default:
5258                 // Never show a notification
5259                 $aUpdateVersions=array();
5260                 break;
5261         }
5262     }
5263 
5264     setGlobalSetting('updateversions',json_encode($aUpdateVersions));
5265 
5266 
Stack Trace
#0  
/home/<myUserName>/webapps/my_lime/application/helpers/common_helper.php(5254): reset(false)
5249                 }
5250                 break;
5251 
5252             case 'both':
5253                 // Show first available update
5254                 $aUpdateVersion=reset($aUpdateVersions);
5255                 break;
5256 
5257             default:
5258                 // Never show a notification
5259                 $aUpdateVersions=array();
#1  
/home/<myUserName>/webapps/my_lime/application/controllers/AdminController.php(35): updateCheck()
30         $sUpdateLastCheck = getGlobalSetting('updatelastcheck');
31 
32         $this->_sessioncontrol();
33 
34         if (Yii::app()->getConfig('buildnumber') != "" &amp;&amp; Yii::app()->getConfig('updatecheckperiod') > 0 &amp;&amp; $sUpdateLastCheck < dateShift(date("Y-m-d H:i:s"), "Y-m-d H:i:s", "-". Yii::app()->getConfig('updatecheckperiod')." days"))
35             updateCheck();
36 
37         //unset(Yii::app()->session['FileManagerContext']);
38         App()->getClientScript()->registerScriptFile(Yii::app()->getConfig('adminscripts') . "admin_core.js");
39         $this->user_id = Yii::app()->user->getId();
40         if (!Yii::app()->getConfig("surveyid")) {Yii::app()->setConfig("surveyid", returnGlobal('sid'));}         //SurveyID
#2  
/home/<myUserName>/webapps/my_lime/application/core/LSYii_Controller.php(41): AdminController->_init()
36         $this->loadLibrary('LS.LS');
37         $this->loadHelper('globalsettings');
38         $this->loadHelper('common');
39         $this->loadHelper('expressions.em_manager');
40         $this->loadHelper('replacements');
41         $this->_init();
42     }
43 
44     /**
45      * Check that installation was already done by looking for config.php
46      * Will redirect to the installer script if not exists.
#3  
+  /home/<myUserName>/webapps/my_lime/framework/web/CWebApplication.php(359): LSYii_Controller->__construct("admin", null)
#4  
+  /home/<myUserName>/webapps/my_lime/framework/web/CWebApplication.php(276): CWebApplication->createController("admin")
#5  
+  /home/<myUserName>/webapps/my_lime/framework/web/CWebApplication.php(141): CWebApplication->runController("admin")
#6  
+  /home/<myUserName>/webapps/my_lime/framework/base/CApplication.php(184): CWebApplication->processRequest()
#7  
+  /home/<myUserName>/webapps/my_lime/index.php(211): CApplication->run()
The topic has been locked.
  • LouisGac
  • LouisGac's Avatar
  • Visitor
  • Visitor
8 years 6 months ago #127365 by LouisGac
yes we experimented difficulties with the first release of the comfortUpdate, causing some crash in few cases. Now, everything is fine. You should just try to update to the last version.
The topic has been locked.
  • bobbyfiend
  • bobbyfiend's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 years 6 months ago #127366 by bobbyfiend
I don't think I made myself fully understood: I don't think this is an issue with comfort update. However, your solution might work anyway. I will try to just upgrade again and see if that fixes this problem.
The topic has been locked.
  • LouisGac
  • LouisGac's Avatar
  • Visitor
  • Visitor
8 years 6 months ago #127368 by LouisGac
Sorry, I'm the one who didn't made himself fully understandable : :)

Your bug come from the comfortUpdate notification system. It seems that your installation is mixing files form different build at the same time....

I'd recommend you to update to the last version. You can even just do a fresh installation, and copy your application/config.php file to retrieve your database.
The topic has been locked.

Lime-years ahead

Online-surveys for every purse and purpose