tiki-check.php

Overview

tiki-check.php is a standalone script for server environment settings diagnostics before installing Tiki, or for an existing Tiki installation. While it was designed for Tiki, and it's bundled in Tiki, it is very useful for any PHP app, as it checks over 100 different things and provides contextual feedback. Started in 2012, this script has been refined over the years and it copes with all kinds of weird edge cases.

Use cases

  • Someone else is setting up the server and you want to avoid the back & forth of tweaking the server configurations. Just send the file and they can set everything.
  • You want to make sure server is adequate before subscribing to a provider.
  • You want to check all is OK with a running Tiki

 

How to use

  1. Download tiki-check.php from gitlab.com
  2. Upload to the web accessible directory of your server (ex.: /www/html/tiki-check.php)
  3. Visit tiki-check.php with your browser
  4. Since this file discloses server info, it becomes password protected once you install Tiki. If you end up not installing Tiki, you should remove the file.

 

Details

The standalone version will work with any version of Tiki, or even without Tiki.

Screenshots

Click to expand
Click to expand

 

Click to expand
Click to expand

Tiki Check.php

Section descriptions

Setting Description
Fieldset or section
MySQL or MariaDB Database Properties Is MySQL or MariaDB suitable for Tiki?
MySQL crashed Tables Is MySQL running smoothly?
Test sending e-mails Can the system send emails?
Server Information Operating system, web server, etc.
Server Properties Available disk space
PHP scripting language properties With tips about how to configure
Apache properties With tips about how to configure
PHP security properties With tips about how to configure
MySQL Variable Information Outputs information about MySQL's configuration
PHP Info Outputs information about PHP's configuration (full list)

OCR Status section

Click to expand
Click to expand

This table provides a detailed status of the OCR-related requirements for your Tiki application. To ensure full functionality:

  1. Install and configure Tesseract and pdfimages.
  2. Set absolute paths for Tesseract and pdfimages.

The PCRE backtrack_limit is a configuration settings that controls the maximum number of backtracks the regular expression engine will perform during regular expression pattern matching, per default set on 1,000,000(1 million).

This impact your Tiki:

  • for text extraction from PDF, and images (with the tesseract_ocr library).
  • for filtering the user input in search engines.
  • for data validation with different forms in the application.
  • for routing to match a URL path against a regex pattern.
  • ...

Icons

Image GoodWill provide a smooth experience.
Image SafeRecommended for a better experience.
Image UglyNot ideal but you'll likely be OK. If you notice issues, you should revisit.
Image RiskyNot need, perhaps it should be disabled.
Image BadKnown to cause issues.
Image InfoThis is typically for a setting that can be good in some cases, but bad in others.

 

Other ways to get Tiki Check

Part of Tiki download

If you have a recent version of Tiki, just visit tiki-check.php

Via the command line

How to get tiki-check via shell access
Copy to clipboard
wget --output-document=tiki-check.php https://gitlab.com/tikiwiki/tiki/-/raw/master/tiki-check.php?inline=false

If you can use the file, make sure permissions are OK. Too few or too many permissions can cause issues.

Known issues

If you enter incorrect DB-credentials, the script will fail with an ugly error message. We can't make this a nice error message, because we can't catch the exception, continue with the script and show the rest of the checks because we want to be PHP 4 compatible (and PHP 4 doesn't know exceptions which are the only way of error handling that PDO allows at connection time). So we fall back to the solution of setting the error_reporting all the way up and showing the error in this ugly way.

Background information

Tiki has been deployed in many scenarios over the years, and has a multitude of checks throughout the code (mostly in tiki-install.php and tiki-admin.php) to indicate to the admin if there is a problem with the server (ex.: memory_limit too low)

They are typically in the admin panel next to the relevant feature/setting. This is useful but without a central checklist of all of them when deploying on a new server (especially a server which has never been configured for web hosting), there can be a lot of back & forth to tweak all the settings. You are also forced to install Tiki to see what could be problematic. Instead, in a single file upload (tiki-check.php), we should have a clear report on everything that should be tweaked.

This is useful for fresh installs or if you are moving a Tiki instance from one server to another. This will also help when people report bugs (you can copy-paste this info in the bug tracker).

Before making this, existing solutions were researched and nothing came close to this. Thus, as far as we know, as of 2013, this is the most complete such solution.

Future work

For additional information, see Server Check.

  • phpSysInfo" is a "customizable PHP script that parses various files in /proc and displays them. It will display information about system facts like Uptime, CPU, Memory, SCSI, IDE, PCI, Ethernet, Floppy, and Video.
  • Requirements
  • Installation

Alias names for this page: ServerCheck | Check | Tiki Check | TikiCheck