MDL-28381 always verify PHP version in CLI scripts
authorPetr Skoda <commits@skodak.org>
Sun, 21 Aug 2011 10:19:59 +0000 (12:19 +0200)
committerPetr Skoda <commits@skodak.org>
Sun, 21 Aug 2011 10:21:29 +0000 (12:21 +0200)
The problem is that people may use different php binary for web and CLI.

lib/setup.php

index ba2d627..f8990b0 100644 (file)
@@ -183,6 +183,17 @@ if (file_exists("$CFG->dataroot/climaintenance.html")) {
     }
 }
 
+if (CLI_SCRIPT) {
+    // sometimes people use different PHP binary for web and CLI, make 100% sure they have the supported PHP version
+    if (version_compare(phpversion(), '5.3.2') < 0) {
+        $phpversion = phpversion();
+        // do NOT localise - lang strings would not work here and we CAN NOT move it to later place
+        echo "Moodle 2.1 or later requires at least PHP 5.3.2 (currently using version $phpversion).\n";
+        echo "Some servers may have multiple PHP versions installed, are you using the correct executable?\n";
+        exit(1);
+    }
+}
+
 // Detect ajax scripts - they are similar to CLI because we can not redirect, output html, etc.
 if (!defined('AJAX_SCRIPT')) {
     define('AJAX_SCRIPT', false);