Nextcloud 12 is not compatible with newer than php 7.1

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>
This commit is contained in:
Roeland Jago Douma 2017-10-13 21:30:29 +02:00
parent 3df8021406
commit 88e4da2a83
No known key found for this signature in database
GPG Key ID: F941078878347C0C
9 changed files with 31 additions and 29 deletions

View File

@ -25,28 +25,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;
}
// Show warning if PHP 7.2 is used as Nextcloud is not compatible with PHP 7.2 for now
// @see https://github.com/nextcloud/server/pull/5791
if (version_compare(PHP_VERSION, '7.2.0') !== -1) {
echo 'This version of Nextcloud is not compatible with PHP 7.2.<br/>';
echo 'You are currently running ' . PHP_VERSION . '.';
return;
}
function exceptionHandler($exception) {
echo "An unhandled exception has been thrown:" . PHP_EOL;
echo $exception;

View File

@ -30,12 +30,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 {

View File

@ -25,13 +25,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';
// Show warning if PHP 7.2 is used as Nextcloud is not compatible with PHP 7.2 for now
// @see https://github.com/nextcloud/server/pull/5791

18
lib/versioncheck.php Normal file
View File

@ -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', '<')) {
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.1 is used as Nextcloud 12 is not compatible with > PHP 7.1
if (version_compare(PHP_VERSION, '7.2.0', '>=')) {
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);
}

View File

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

View File

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

View File

@ -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';

View File

@ -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;

View File

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