|
Tiki Version | MariaDB Versions | MySQL Versions | Notes |
---|---|---|---|
Tiki28 | 10.5+ | 8+ | |
Tiki27 LTS | 10.5+ | 8+ | MariaDB 10.2.2+ or MySQL 5.7+ are the versions where the InnoDB row format is by default Dynamic, required for some tables. |
Tiki21 to Tiki26 | 5.5+ | 5.7+ | No known issues as of 2023-06-15 |
Tiki19 or Tiki20 | 5.5-10.4 | 5.5.3-5.7 | MySQL 5.6+ or MariaDB 10.1+ are recommended. First version to support utf8mb4 |
Tiki18 LTS | 5.1-10.4 | 5.0-5.7 | MySQL 5.6+ or MariaDB 10.1+ are recommended as not all features will be available at lesser versions. |
Tiki15 LTS | 5.0-10.1 | 5.0-5.6 | In Tiki 15+ Upgrade scripts in in MariaDB 10.1 / MySQL 5.6 may not work from earlier versions of Tiki. |
Tiki12 LTS | 5.1-5.5 | 5.0-5.5 |
The database can be installed in the same physical location of the webserver (that is, as localhost) or Tiki can access a remote database.
We are moving to a machine readable format: https://gitlab.com/tikiwiki/tiki-manager/-/blob/master/config/tiki_requirements.yml
Tiki Version | Minimum PHP Version | Maximum PHP Version | Notes |
---|---|---|---|
Tiki28 | 8.1 | 8.4 | Expected to be OK until PHP 9.0 |
Tiki27 LTS | 8.1 | 8.4 | Expected to be OK until PHP 9.0 |
Tiki26 | 8.1 | 8.1 (8.2 and 8.3 as Beta) | Related: PHP 8 |
Tiki22, Tiki23, Tiki24 LTS and Tiki25 | 7.4 | 7.4 | |
Tiki21 LTS | 7.2 | 7.3 | You can safely use 7.4 if you disregard or suppress the notices and warnings (They are indicating that certain things will no longer work in PHP 8.x). |
Tiki19 or Tiki20 | 7.1 | 7.2 (maybe 7.3 as well) | There is known issue with Tiki 20.2 where PHP requirement was bumped up to PHP 7.2 accidentally |
Tiki18 LTS | 5.6 | 7.2 | |
Tiki15 LTS | 5.5 | 5.6 | |
Tiki12 LTS | 5.3 | 5.6 |
Interesting links about PHP lifecycle
The default memory_limit in a standard PHP installation is 128M, and this should be fine for the vast majority of Tiki installations. Some web hosts install PHP with a lower default. Although Tiki may appear to install successfully, you will continually face issues with pages failing to load and system errors.
To review your PHP Memory Limits, access http://www.example.com/tiki-phpinfo.php and review the following values:
For some shared webhosts, these values may not be user-configurable and you may need to request changes from your webhost, whereas in other hosts you are allowed to fine tune these settings for your needs. You can try uncommenting the corresponding lines in the .htaccess file at your tiki root folder on the server, like:
# increase memory php_value memory_limit 128M # increase execution time... php_value max_execution_time 90
Some webhosts tend to disable some functions which are required for Tiki to run flawlessly.
Function | Notes |
---|---|
eval() | Required by Smarty templating engine. Causes "Please contact support about" messages appearing instead of Modules when ev php.ini . |
Library | Notes |
---|---|
libxml | Required |
DOM | Required starting from Tiki 19 |
mbstring | Useful when working with languages that require it mbstring needs to be compiled with --enable-mbregex or otherwise you will be missing functions like mb_split() which are needed for example by Smarty. Since Tiki 17, the symfony/polyfill-mbstring compatibility library (via symfony-console) is used in core functionality, but mbstring is still required for some functionality. |
ctype | Required |
calendar | Required |
iconv | Required by certain Zend Framework validation and parsing classes |
MySQLi | In Tiki 12+ MySQLI is recommended but the Tiki installer will fall back to the older MySQL driver if MySQLi is unavailable. |
zip | The ZipArchive class for php must be installed for some features such as XML Wiki Import-Export and PluginArchiveBuilder |
We recommend using the following configuration in your php.ini file:
PHP.INI Setting | Description |
---|---|
memory_limit = 128M | Specify the maximum memory for PHP scripts. |
_file_uploads = On | Required to allow uploads (files, images, etc.) to your Tiki |
upload_max_filesize = XXM post_max_size |
Specify the maximum upload filesize (in MB). |
session.save_path = /tmp | The directory where PHP stores session information (for the default handler (files)). Ensure that the location exists and is writable. In Shared Hosting environments, if you do not have access to /tmp, use temp (no slash) instead. |
max_execution_time = 60 max_input_time = 60 |
Specify the idle timeout (in seconds). If you experience timeouts (such as when performing Admin functions) you may need to increase these settings. |
default_charset = "utf-8" | Specify the default character encoding. |
mbstring.func_overload = 0 | Tiki will not work properly with mbstring.func_overload = 7. |
The location of the php.ini file may vary, depending on your operating sytem. Some common locations include:
Some Tiki features require the following additional software or libraries:
Feature | Additional Requirements |
Rewrite Tiki's default URLs | Use the Apache Clean URLs to create shorter, or custom, URLs. |
Elasticsearch | See Elasticsearch page (requirements section) |
Manticore Search | See Manticore Search page (requirements section) |