Editing the lib.php file is one possible work around for resolving an issue with a Moodle installation completed through Fantastico De Luxe. Once the installation is complete and an administrator logs into Moodle, a blank white screen appears instead of the expected administration error. This error, caused by a PHP version mismatch can be resolved through either editing the lib.php file or manually installing an older version of
Moodle that doesn't require PHP 5.3. As discussed in our introduction article regarding seeing a
blank white screen in Moodle, upgrading servers to PHP 5.3 is not possible at this time.
Fortunately, editing the lib.php file can easily be done through the
cPanel File Manager and we'll cover each step in detail:
-
Log into cPanel
-
Click the File Manager icon and navigate to the question/engine subfolder inside your Moodle installation (e.g. public_html/question/engine, /public_html/moodle/question/engine or something similar depending on where you installed Moodle).
-
Select the lib.php, right click it and choose either "Edit" or "Code Editor" to open the file for editing.
-
Search for the following lines of code:
public static function get_behaviour_required_behaviours($behaviour) {
$class = 'qbehaviour_' . $behaviour;
return $class::get_required_behaviours();
}
-
Replace:
return $class::get_required_behaviours();
With:
eval('$ret = ' . $class . '::get_required_behaviours();');
return $ret;
-
The function should now look like this:
public static function get_behaviour_required_behaviours($behaviour) {
$class = 'qbehaviour_' . $behaviour;
eval('$ret = ' . $class . '::get_required_behaviours();');
return $ret;
}
-
Click the "Save Changes" button in the upper right of the window.
Now, when we go back to our site where Moodle is installed we can log in and see the Moodle administration area.

tayke
2013-03-29 11:44 am
When I look for this expression in lib.php, it is not there:
public static function get_behaviour_required_behaviours($behaviour) {
$class = 'qbehaviour_' . $behaviour;
return $class::get_required_behaviours();
}
I've had dozens of emails giving me the 'wrong php' message which led me to the tutorial about changing the lib.php file. My site seems to be working okay but how can I stop receiving these emails?
thanks,
Bill Black
tayke
2013-03-29 11:44 am
When I look for this expression in lib.php, it is not there:
public static function get_behaviour_required_behaviours($behaviour) {
$class = 'qbehaviour_' . $behaviour;
return $class::get_required_behaviours();
}
I've had dozens of emails giving me the 'wrong php' message which led me to the tutorial about changing the lib.php file. My site seems to be working okay but how can I stop receiving these emails?
thanks,
Bill Black
public static function get_behaviour_required_behaviours($behaviour) {
$class = 'qbehaviour_' . $behaviour;
return $class::get_required_behaviours();
}
I've had dozens of emails giving me the 'wrong php' message which led me to the tutorial about changing the lib.php file. My site seems to be working okay but how can I stop receiving these emails?
thanks,
Bill Black