Browse Source

Nextcloud 13 is not compatible with newer than php 7.2

Just to avoid users from trying this with a to new (untested) php version

* Moved the check logic to 1 place
* All directly callable scripts just require this on top
* exit hard (-1) so we know scripts won't continue
* Return status 500 so no sync clients will try fancy stuff

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Roeland Jago Douma 6 years ago
parent
commit
b8af7ee9bc
9 changed files with 31 additions and 21 deletions
  1. 2 8
      console.php
  2. 1 6
      cron.php
  3. 1 7
      index.php
  4. 18 0
      lib/versioncheck.php
  5. 1 0
      ocs/providers.php
  6. 1 0
      ocs/v1.php
  7. 3 0
      public.php
  8. 2 0
      remote.php
  9. 2 0
      status.php

+ 2 - 8
console.php

@@ -29,20 +29,14 @@
  *
  */
 
+require_once __DIR__ . '/lib/versioncheck.php';
+
 use OC\Console\Application;
 use Symfony\Component\Console\Input\ArgvInput;
 use Symfony\Component\Console\Output\ConsoleOutput;
 
 define('OC_CONSOLE', 1);
 
-// Show warning if a PHP version below 5.6.0 is used, this has to happen here
-// because base.php will already use 5.6 syntax.
-if (version_compare(PHP_VERSION, '5.6.0') === -1) {
-	echo 'This version of Nextcloud requires at least PHP 5.6.0'.PHP_EOL;
-	echo 'You are currently running ' . PHP_VERSION . '. Please update your PHP version.'.PHP_EOL;
-	return;
-}
-
 function exceptionHandler($exception) {
 	echo "An unhandled exception has been thrown:" . PHP_EOL;
 	echo $exception;

+ 1 - 6
cron.php

@@ -34,12 +34,7 @@
  *
  */
 
-// Show warning if a PHP version below 5.6.0 is used
-if (version_compare(PHP_VERSION, '5.6.0') === -1) {
-	echo 'This version of Nextcloud requires at least PHP 5.6.0<br/>';
-	echo 'You are currently running ' . PHP_VERSION . '. Please update your PHP version.';
-	return;
-}
+require_once __DIR__ . '/lib/versioncheck.php';
 
 try {
 

+ 1 - 7
index.php

@@ -28,13 +28,7 @@
  *
  */
 
-// Show warning if a PHP version below 5.6.0 is used, this has to happen here
-// because base.php will already use 5.6 syntax.
-if (version_compare(PHP_VERSION, '5.6.0') === -1) {
-	echo 'This version of Nextcloud requires at least PHP 5.6.0<br/>';
-	echo 'You are currently running ' . PHP_VERSION . '. Please update your PHP version.';
-	return;
-}
+require_once __DIR__ . '/lib/versioncheck.php';
 
 try {
 

+ 18 - 0
lib/versioncheck.php

@@ -0,0 +1,18 @@
+<?php
+
+// Show warning if a PHP version below 5.6.0 is used, this has to happen here
+// because base.php will already use 5.6 syntax.
+if (version_compare(PHP_VERSION, '5.6.0') === -1) {
+	http_response_code(500);
+	echo 'This version of Nextcloud requires at least PHP 5.6.0<br/>';
+	echo 'You are currently running ' . PHP_VERSION . '. Please update your PHP version.';
+	exit(-1);
+}
+
+// Show warning if > PHP 7.2 is used as Nextcloud is not compatible with > PHP 7.2 for now
+if (version_compare(PHP_VERSION, '7.3.0') !== -1) {
+	http_response_code(500);
+	echo 'This version of Nextcloud is not compatible with > PHP 7.2.<br/>';
+	echo 'You are currently running ' . PHP_VERSION . '.';
+	exit(-1);
+}

+ 1 - 0
ocs/providers.php

@@ -23,6 +23,7 @@
  *
  */
 
+require_once __DIR__ . '/../lib/versioncheck.php';
 require_once __DIR__ . '/../lib/base.php';
 
 header('Content-type: application/xml');

+ 1 - 0
ocs/v1.php

@@ -29,6 +29,7 @@
  *
  */
 
+require_once __DIR__ . '/../lib/versioncheck.php';
 require_once __DIR__ . '/../lib/base.php';
 
 if (\OCP\Util::needUpgrade()

+ 3 - 0
public.php

@@ -27,6 +27,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>
  *
  */
+
+require_once __DIR__ . '/lib/versioncheck.php';
+
 try {
 
 	require_once __DIR__ . '/lib/base.php';

+ 2 - 0
remote.php

@@ -28,6 +28,8 @@
  *
  */
 
+require_once __DIR__ . '/lib/versioncheck.php';
+
 use OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin;
 use Sabre\DAV\Exception\ServiceUnavailable;
 use Sabre\DAV\Server;

+ 2 - 0
status.php

@@ -29,6 +29,8 @@
  *
  */
 
+require_once __DIR__ . '/lib/versioncheck.php';
+
 try {
 
 	require_once __DIR__ . '/lib/base.php';