History: Server Check
Preview of version: 66
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
- Download tiki-check.php from gitlab.com
- Upload to the web accessible directory of your server (ex.: /www/html/tiki-check.php)
- Visit tiki-check.php with your browser
- 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
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) |
Icons
Good | Will provide a smooth experience. | |
Safe | Recommended for a better experience. | |
Ugly | Not ideal but you'll likely be OK. If you notice issues, you should revisit. | |
Risky | Not need, perhaps it should be disabled. | |
Bad | Known to cause issues. | |
Info | This 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
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.
Related links
- 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