Server Requirements¶
PHP and Required Extensions¶
PHP version 8.2 or newer is required, with the following PHP extensions enabled:
Warning
- The end of life date for PHP 7.4 was November 28, 2022.
- The end of life date for PHP 8.0 was November 26, 2023.
- The end of life date for PHP 8.1 was December 31, 2025.
- If you are still using a PHP version below 8.2, you should upgrade immediately.
- The end of life date for PHP 8.2 will be December 31, 2026.
Note
- PHP 8.5 requires CodeIgniter 4.7.0 or later.
- PHP 8.4 requires CodeIgniter 4.6.0 or later.
- PHP 8.3 requires CodeIgniter 4.4.4 or later.
- PHP 8.2 requires CodeIgniter 4.2.11 or later.
- PHP 8.1 requires CodeIgniter 4.1.6 or later.
- Note that we only maintain the latest version.
Optional PHP Extensions¶
The following PHP extensions should be enabled on your server:
- mysqlnd (if you use MySQL)
- curl (if you use CURLRequest)
- imagick (if you use the
ImageMagickHandlerclass) - gd (if you use the
GDHandlerclass) - simplexml (if you format XML)
The following PHP extensions are required when you use a Cache server:
- memcache (if you use the
MemcachedHandlerclass with Memcache) - memcached (if you use the
MemcachedHandlerclass with Memcached) - redis (if you use the
RedisHandlerclass)
The following PHP extensions are required when you use PHPUnit:
- dom (if you use the TestResponse class)
- libxml (if you use the TestResponse class)
- xdebug (if you use
CIUnitTestCase::assertHeaderEmitted())
Supported Databases¶
A database is required for most web application programming. Currently supported databases are:
- MySQL via the
MySQLidriver (version 5.1 and above only) - PostgreSQL via the
Postgredriver (version 7.4 and above only) - SQLite3 via the
SQLite3driver - Microsoft SQL Server via the
SQLSRVdriver (version 2012 and above only) - Oracle Database via the
OCI8driver (version 12.1 and above only)
Not all of the drivers have been converted/rewritten for CodeIgniter4. The list below shows the outstanding ones.
- MySQL (5.1+) via the pdo driver
- Oracle via the pdo drivers
- PostgreSQL via the pdo driver
- MSSQL via the pdo driver
- SQLite via the sqlite (version 2) and pdo drivers
- CUBRID via the cubrid and pdo drivers
- Interbase/Firebird via the ibase and pdo drivers
- ODBC via the odbc and pdo drivers (you should know that ODBC is actually an abstraction layer)