tileserver-php icon indicating copy to clipboard operation
tileserver-php copied to clipboard

TileServer-php checker

Open daliborjanak opened this issue 10 years ago • 2 comments

Create one single php file which will check if hosting is ready for installing tileserver. This script will do:

  • [ ] validate baseurl and display it
  • [ ] check mod rewrite
  • [ ] check support for sqlite
if (!extension_loaded('pdo_sqlite')) {
    # HTTP Error 500
    echo "PHP: PDO SQLite extension is not installed";
    die;
}
  • [x] check version of php

daliborjanak avatar Jan 08 '15 08:01 daliborjanak

First draft:

<?php
$msg = array();
//php version
$version = phpversion();
if (strpos($version, '-') != FALSE) {
  $version = substr($version, 0, strpos($version, '-'));
}
$versionParts = explode('.', $version);
if ($versionParts[0] >= 5 && $versionParts[1] >= 2) {
  $msg[] = array('status' => 'success', 'message' => 'Your PHP version ' . $version . ' is supported!');
} else {
  $msg[] = array('status' => 'warning', 'message' => 'Your PHP version ' . $version . ' is NOT supported!');
}
//mod rewrite
$isModRewrite = false;
if (function_exists('apache_get_modules')) {
  $modules = apache_get_modules();
  if (in_array('mod_rewrite', $modules)) {
    $isModRewrite = true;
  }
} else {
  //check with getenv
  if (getenv('HTTP_MOD_REWRITE') == 'On') {
    $isModRewrite = true;
  }
}
//TODO: Htaccess??
if ($isModRewrite) {
  $msg[] = array('status' => 'success', 'message' => 'Mod_rewrite module is enabled!');
} else {
  $msg[] = array('status' => 'warning', 'message' => 'Mod_rewrite module is disabled!');
}
?>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>TileServer-PHP Checker</title>
    <style>
      ul{list-style-type: none;}
      li.success{color: green;}
      li.warning{color:red}
    </style>
  </head>
  <body>
    <h1>TileServer-PHP Checker</h1>
    <ul>
      <?php
      //print
      foreach ($msg as $message) {
        echo '<li class="' . $message['status'] . '">' . $message['message'] . '<li>';
      }
      ?>
    </ul>
  </body>
</html>

daliborjanak avatar Jan 08 '15 08:01 daliborjanak

Reported problem with PHP 7 check in #121

daliborjanak avatar Feb 21 '18 17:02 daliborjanak