2018-09-23 09:21:22 -07:00
<!DOCTYPE html>
2024-01-18 11:24:54 +00:00
< html class = "writer-html5" lang = "en" >
2018-09-23 09:21:22 -07:00
< head >
2024-01-18 11:24:54 +00:00
< meta charset = "utf-8" / > < meta name = "generator" content = "Docutils 0.19: https://docutils.sourceforge.io/" / >
2018-09-23 09:21:22 -07:00
2021-09-15 03:10:35 +00:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / >
2025-01-19 18:10:53 +00:00
< title > Server Requirements — CodeIgniter 4.6.0 documentation< / title >
2024-01-18 11:24:54 +00:00
< link rel = "stylesheet" type = "text/css" href = "../_static/pygments.css" / >
< link rel = "stylesheet" type = "text/css" href = "../_static/css/citheme.css" / >
< link rel = "stylesheet" type = "text/css" href = "../_static/css/citheme_dark.css" / >
2022-06-03 08:10:00 +00:00
< link rel = "shortcut icon" href = "../_static/favicon.ico" / >
2020-08-15 20:48:04 +00:00
<!-- [if lt IE 9]>
< script src = "../_static/js/html5shiv.min.js" > < / script >
<![endif]-->
2022-06-03 08:10:00 +00:00
< script data-url_root = "../" id = "documentation_options" src = "../_static/documentation_options.js" > < / script >
2020-08-15 20:48:04 +00:00
< script src = "../_static/jquery.js" > < / script >
< script src = "../_static/underscore.js" > < / script >
2024-01-18 11:24:54 +00:00
< script src = "../_static/_sphinx_javascript_frameworks_compat.js" > < / script >
2020-08-15 20:48:04 +00:00
< script src = "../_static/doctools.js" > < / script >
2024-01-18 11:24:54 +00:00
< script src = "../_static/sphinx_highlight.js" > < / script >
2020-08-15 20:48:04 +00:00
< script src = "../_static/js/citheme.js" > < / script >
< script src = "../_static/js/carbon.js" > < / script >
2021-09-15 03:10:35 +00:00
< script src = "../_static/js/theme.js" > < / script >
2020-07-05 04:53:02 +00:00
< link rel = "index" title = "Index" href = "../genindex.html" / >
< link rel = "search" title = "Search" href = "../search.html" / >
< link rel = "next" title = "Credits" href = "credits.html" / >
< link rel = "prev" title = "Welcome to CodeIgniter4" href = "index.html" / >
2018-09-23 09:21:22 -07:00
< / head >
2021-09-15 03:10:35 +00:00
< body class = "wy-body-for-nav" >
2018-09-23 09:21:22 -07:00
< div class = "wy-grid-for-nav" >
< nav data-toggle = "wy-nav-shift" class = "wy-nav-side" >
< div class = "wy-side-scroll" >
2023-05-02 12:11:34 +00:00
< div class = "wy-side-nav-search" >
2023-02-08 00:58:27 +00:00
< a href = "../index.html" >
2023-03-18 00:51:40 +00:00
< img src = "../_static/ci-logo-text.svg" class = "logo" alt = "Logo" / >
2018-09-23 09:21:22 -07:00
< / a >
< div role = "search" >
< form id = "rtd-search-form" class = "wy-form" action = "../search.html" method = "get" >
2023-02-08 00:58:27 +00:00
< input type = "text" name = "q" placeholder = "Search docs" aria-label = "Search docs" / >
2018-09-23 09:21:22 -07:00
< input type = "hidden" name = "check_keywords" value = "yes" / >
< input type = "hidden" name = "area" value = "default" / >
< / form >
< / div >
2021-09-15 03:10:35 +00:00
< / div > < div class = "wy-menu wy-menu-vertical" data-spy = "affix" role = "navigation" aria-label = "Navigation menu" >
2018-09-23 09:21:22 -07:00
< ul class = "current" >
< li class = "toctree-l1 current" > < a class = "reference internal" href = "index.html" > Welcome to CodeIgniter4< / a > < ul class = "current" >
< li class = "toctree-l2" > < a class = "reference internal" href = "index.html" > Welcome to CodeIgniter4< / a > < / li >
< li class = "toctree-l2 current" > < a class = "current reference internal" href = "#" > Server Requirements< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "credits.html" > Credits< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "psr.html" > PSR Compliance< / a > < / li >
2021-12-06 01:57:50 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../license.html" > License Agreement< / a > < / li >
2018-09-23 09:21:22 -07:00
< / ul >
< / li >
< / ul >
< ul >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../installation/index.html" > Installation< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../installation/installing_composer.html" > Composer Installation< / a > < / li >
2020-07-27 12:55:41 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../installation/installing_manual.html" > Manual Installation< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../installation/running.html" > Running Your App< / a > < / li >
2022-07-27 00:07:51 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../installation/troubleshooting.html" > Troubleshooting< / a > < / li >
2024-04-07 04:46:06 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../installation/deployment.html" > Deployment< / a > < / li >
2021-12-06 01:57:50 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../changelogs/index.html" > Change Logs< / a > < / li >
2022-01-25 02:17:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../installation/upgrading.html" > Upgrading From a Previous Version< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../installation/repositories.html" > CodeIgniter Repositories< / a > < / li >
2018-09-23 09:21:22 -07:00
< / ul >
2020-07-05 04:53:02 +00:00
< / li >
2018-09-23 09:21:22 -07:00
< / ul >
< ul >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../tutorial/index.html" > Build Your First Application< / a > < ul >
2022-03-01 23:33:29 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../tutorial/static_pages.html" > Static Pages< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../tutorial/news_section.html" > News Section< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../tutorial/create_news_items.html" > Create News Items< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../tutorial/conclusion.html" > Conclusion< / a > < / li >
< / ul >
< / li >
2018-09-23 09:21:22 -07:00
< / ul >
< ul >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../concepts/index.html" > CodeIgniter4 Overview< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../concepts/structure.html" > Application Structure< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../concepts/mvc.html" > Models, Views, and Controllers< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../concepts/autoloader.html" > Autoloading Files< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../concepts/services.html" > Services< / a > < / li >
2020-10-10 18:13:39 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../concepts/factories.html" > Factories< / a > < / li >
2023-01-18 00:00:11 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../concepts/http.html" > Working with HTTP Requests< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../concepts/security.html" > Security Guidelines< / a > < / li >
2024-06-12 01:40:01 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../concepts/goals.html" > Design and Architectural Goals< / a > < / li >
2020-07-05 04:53:02 +00:00
< / ul >
< / li >
2018-09-23 09:21:22 -07:00
< / ul >
< ul >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../general/index.html" > General Topics< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../general/configuration.html" > Configuration< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../general/urls.html" > CodeIgniter URLs< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../general/helpers.html" > Helper Functions< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../general/common_functions.html" > Global Functions and Constants< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../general/logging.html" > Logging Information< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../general/errors.html" > Error Handling< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../general/caching.html" > Web Page Caching< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../general/ajax.html" > AJAX Requests< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../general/modules.html" > Code Modules< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../general/managing_apps.html" > Managing your Applications< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../general/environments.html" > Handling Multiple Environments< / a > < / li >
< / ul >
< / li >
2018-09-25 07:00:21 -07:00
< / ul >
< ul >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../incoming/index.html" > Controllers and Routing< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../incoming/routing.html" > URI Routing< / a > < / li >
2022-03-01 00:18:12 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../incoming/controllers.html" > Controllers< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../incoming/filters.html" > Controller Filters< / a > < / li >
2025-01-19 18:10:53 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../incoming/auto_routing_improved.html" > Auto Routing (Improved)< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../incoming/message.html" > HTTP Messages< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../incoming/request.html" > Request Class< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../incoming/incomingrequest.html" > IncomingRequest Class< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../incoming/content_negotiation.html" > Content Negotiation< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../incoming/methodspoofing.html" > HTTP Method Spoofing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../incoming/restful.html" > RESTful Resource Handling< / a > < / li >
< / ul >
< / li >
2018-09-25 07:00:21 -07:00
< / ul >
< ul >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../outgoing/index.html" > Building Responses< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../outgoing/views.html" > Views< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../outgoing/view_renderer.html" > View Renderer< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../outgoing/view_layouts.html" > View Layouts< / a > < / li >
2024-04-16 00:08:52 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../outgoing/view_cells.html" > View Cells< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../outgoing/view_parser.html" > View Parser< / a > < / li >
2022-01-15 04:54:01 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../outgoing/view_decorators.html" > View Decorators< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../outgoing/table.html" > HTML Table Class< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../outgoing/response.html" > HTTP Responses< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../outgoing/api_responses.html" > API Response Trait< / a > < / li >
2023-11-06 21:52:05 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../outgoing/csp.html" > Content Security Policy< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../outgoing/localization.html" > Localization< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../outgoing/alternative_php.html" > Alternate PHP Syntax for View Files< / a > < / li >
< / ul >
< / li >
2018-09-25 07:00:21 -07:00
< / ul >
< ul >
2023-03-25 04:45:39 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../database/index.html" > Working with Databases< / a > < ul >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../database/examples.html" > Quick Start: Usage Examples< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../database/configuration.html" > Database Configuration< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../database/connecting.html" > Connecting to a Database< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../database/queries.html" > Running Queries< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../database/results.html" > Generating Query Results< / a > < / li >
2024-04-30 00:35:44 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../database/helpers.html" > Query Helper Methods< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../database/query_builder.html" > Query Builder Class< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../database/transactions.html" > Transactions< / a > < / li >
2024-04-30 23:57:22 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../database/metadata.html" > Getting Metadata< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../database/call_function.html" > Custom Function Calls< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../database/events.html" > Database Events< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../database/utilities.html" > Database Utilities< / a > < / li >
< / ul >
< / li >
2018-09-23 09:21:22 -07:00
< / ul >
< ul >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../models/index.html" > Modeling Data< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../models/model.html" > Using CodeIgniter's Model< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../models/entities.html" > Using Entity Classes< / a > < / li >
< / ul >
< / li >
2018-09-25 07:00:21 -07:00
< / ul >
< ul >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../dbmgmt/index.html" > Managing Databases< / a > < ul >
2024-05-05 02:24:21 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../dbmgmt/forge.html" > Database Forge< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../dbmgmt/migration.html" > Database Migrations< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../dbmgmt/seeds.html" > Database Seeding< / a > < / li >
2022-05-16 22:02:52 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../dbmgmt/db_commands.html" > Database Commands< / a > < / li >
2020-07-05 04:53:02 +00:00
< / ul >
< / li >
2018-09-23 09:21:22 -07:00
< / ul >
< ul >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../libraries/index.html" > Library Reference< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/caching.html" > Caching Driver< / a > < / li >
2021-02-12 16:48:37 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/cookies.html" > Cookies< / a > < / li >
2024-04-07 04:46:06 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/cors.html" > Cross-Origin Resource Sharing (CORS)< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/curlrequest.html" > CURLRequest Class< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/email.html" > Email Class< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/encryption.html" > Encryption Service< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/files.html" > Working with Files< / a > < / li >
2023-02-15 23:12:22 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/file_collections.html" > File Collections< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/honeypot.html" > Honeypot Class< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/images.html" > Image Manipulation Class< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/pagination.html" > Pagination< / a > < / li >
2021-09-08 15:06:43 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/publisher.html" > Publisher< / a > < / li >
2020-12-08 12:00:51 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/security.html" > Security< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/sessions.html" > Session Library< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/throttler.html" > Throttler< / a > < / li >
2020-10-17 11:10:17 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/time.html" > Times and Dates< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/typography.html" > Typography< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/uploaded_files.html" > Working with Uploaded Files< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/uri.html" > Working with URIs< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/user_agent.html" > User Agent Class< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../libraries/validation.html" > Validation< / a > < / li >
< / ul >
< / li >
2018-09-23 09:21:22 -07:00
< / ul >
< ul >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../helpers/index.html" > Helpers< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../helpers/array_helper.html" > Array Helper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../helpers/cookie_helper.html" > Cookie Helper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../helpers/date_helper.html" > Date Helper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../helpers/filesystem_helper.html" > Filesystem Helper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../helpers/form_helper.html" > Form Helper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../helpers/html_helper.html" > HTML Helper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../helpers/inflector_helper.html" > Inflector Helper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../helpers/number_helper.html" > Number Helper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../helpers/security_helper.html" > Security Helper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../helpers/test_helper.html" > Test Helper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../helpers/text_helper.html" > Text Helper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../helpers/url_helper.html" > URL Helper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../helpers/xml_helper.html" > XML Helper< / a > < / li >
< / ul >
< / li >
2018-09-23 09:21:22 -07:00
< / ul >
< ul >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../testing/index.html" > Testing< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../testing/overview.html" > Getting Started< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../testing/database.html" > Database< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../testing/fabricator.html" > Generating Data< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../testing/controllers.html" > Controller Testing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../testing/feature.html" > HTTP Testing< / a > < / li >
2021-03-25 19:50:06 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../testing/response.html" > Testing Responses< / a > < / li >
2024-04-07 04:46:06 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../testing/cli.html" > Testing CLI Commands< / a > < / li >
2024-02-02 00:15:45 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../testing/mocking.html" > Mocking< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../testing/benchmark.html" > Benchmarking< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../testing/debugging.html" > Debugging Your Application< / a > < / li >
< / ul >
< / li >
2018-09-25 07:00:21 -07:00
< / ul >
< ul >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../cli/index.html" > Command Line Usage< / a > < ul >
2022-05-14 11:21:01 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../cli/cli_overview.html" > CLI Overview< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../cli/cli_controllers.html" > Running Controllers via CLI< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../cli/spark_commands.html" > Spark Commands< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../cli/cli_commands.html" > Creating Spark Commands< / a > < / li >
2020-08-18 15:29:39 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../cli/cli_generators.html" > CLI Generators< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../cli/cli_library.html" > CLI Library< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../cli/cli_request.html" > CLIRequest Class< / a > < / li >
< / ul >
< / li >
2018-09-25 07:00:21 -07:00
< / ul >
< ul >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../extending/index.html" > Extending CodeIgniter< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../extending/core_classes.html" > Creating Core System Classes< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../extending/common.html" > Replacing Common Functions< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../extending/events.html" > Events< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../extending/basecontroller.html" > Extending the Controller< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../extending/authentication.html" > Authentication< / a > < / li >
2023-07-31 06:27:01 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../extending/composer_packages.html" > Creating Composer Packages< / a > < / li >
2020-07-05 04:53:02 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../extending/contributing.html" > Contributing to CodeIgniter< / a > < / li >
< / ul >
< / li >
2022-06-03 00:48:01 +00:00
< / ul >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "../libraries/official_packages.html" > Official Packages< / a > < / li >
2018-09-23 09:21:22 -07:00
< / ul >
< / div >
< / div >
< / nav >
2023-05-02 12:11:34 +00:00
< section data-toggle = "wy-nav-shift" class = "wy-nav-content-wrap" > < nav class = "wy-nav-top" aria-label = "Mobile navigation menu" >
2018-09-23 09:21:22 -07:00
< i data-toggle = "wy-nav-top" class = "fa fa-bars" > < / i >
2020-07-05 04:53:02 +00:00
< a href = "../index.html" > CodeIgniter< / a >
2018-09-23 09:21:22 -07:00
< / nav >
< div class = "wy-nav-content" >
< div class = "rst-content" >
2022-05-11 12:23:01 +00:00
< a class = "btn btn-neutral float-right" href = "https://github.com/codeigniter4/CodeIgniter4/edit/develop/user_guide_src/source/intro/requirements.rst" > Edit this page< / a >
2021-09-15 03:10:35 +00:00
< div role = "navigation" aria-label = "Page navigation" >
2018-09-23 09:21:22 -07:00
< ul class = "wy-breadcrumbs" >
2023-02-08 00:58:27 +00:00
< li > < a href = "../index.html" class = "icon icon-home" aria-label = "Home" > < / a > < / li >
2022-11-05 09:19:23 +00:00
< li class = "breadcrumb-item" > < a href = "index.html" > Welcome to CodeIgniter4< / a > < / li >
< li class = "breadcrumb-item active" > Server Requirements< / li >
2018-09-23 09:21:22 -07:00
< li class = "wy-breadcrumbs-aside" >
< / li >
< / ul >
< hr / >
< / div >
< div role = "main" class = "document" itemscope = "itemscope" itemtype = "http://schema.org/Article" >
< div itemprop = "articleBody" >
2021-09-15 03:10:35 +00:00
< section id = "server-requirements" >
2024-01-18 11:24:54 +00:00
< h1 > Server Requirements< a class = "headerlink" href = "#server-requirements" title = "Permalink to this heading" > < / a > < / h1 >
< nav class = "contents local" id = "contents" >
2022-12-03 21:44:45 +00:00
< ul class = "simple" >
< li > < p > < a class = "reference internal" href = "#php-and-required-extensions" id = "id1" > PHP and Required Extensions< / a > < / p > < / li >
< li > < p > < a class = "reference internal" href = "#optional-php-extensions" id = "id2" > Optional PHP Extensions< / a > < / p > < / li >
< li > < p > < a class = "reference internal" href = "#supported-databases" id = "id3" > Supported Databases< / a > < / p > < / li >
< / ul >
2024-01-18 11:24:54 +00:00
< / nav >
2022-12-03 21:44:45 +00:00
< section id = "php-and-required-extensions" >
2024-01-18 11:24:54 +00:00
< h2 > < a class = "toc-backref" href = "#id1" role = "doc-backlink" > PHP and Required Extensions< / a > < a class = "headerlink" href = "#php-and-required-extensions" title = "Permalink to this heading" > < / a > < / h2 >
2024-04-07 04:46:06 +00:00
< p > < a class = "reference external" href = "https://www.php.net/" > PHP< / a > version 8.1 or newer is required, with the following PHP extensions are enabled:< / p >
2022-11-24 05:17:47 +00:00
< blockquote >
< div > < ul class = "simple" >
< li > < p > < a class = "reference external" href = "https://www.php.net/manual/en/intl.requirements.php" > intl< / a > < / p > < / li >
< li > < p > < a class = "reference external" href = "https://www.php.net/manual/en/mbstring.requirements.php" > mbstring< / a > < / p > < / li >
< li > < p > < a class = "reference external" href = "https://www.php.net/manual/en/json.requirements.php" > json< / a > < / p > < / li >
< / ul >
< / div > < / blockquote >
2023-09-12 20:48:47 +00:00
< div class = "admonition warning" >
< p class = "admonition-title" > Warning< / p >
2024-04-07 09:00:55 +00:00
< ul class = "simple" >
< li > < p > The end of life date for PHP 7.4 was November 28, 2022.< / p > < / li >
< li > < p > The end of life date for PHP 8.0 was November 26, 2023.< / p > < / li >
2025-01-19 18:10:53 +00:00
< li > < p > < strong > If you are still using PHP 7.4 or 8.0, you should upgrade immediately.< / strong > < / p > < / li >
2024-05-10 23:53:47 +00:00
< li > < p > The end of life date for PHP 8.1 will be December 31, 2025.< / p > < / li >
2024-04-07 09:00:55 +00:00
< / ul >
2023-09-12 20:48:47 +00:00
< / div >
2025-01-19 18:10:53 +00:00
< div class = "admonition note" >
< p class = "admonition-title" > Note< / p >
< ul class = "simple" >
< li > < p > PHP 8.4 requires CodeIgniter 4.6.0 or later.< / p > < / li >
< li > < p > PHP 8.3 requires CodeIgniter 4.4.4 or later.< / p > < / li >
< li > < p > PHP 8.2 requires CodeIgniter 4.2.11 or later.< / p > < / li >
< li > < p > PHP 8.1 requires CodeIgniter 4.1.6 or later.< / p > < / li >
< li > < p > < strong > Note that we only maintain the latest version.< / strong > < / p > < / li >
< / ul >
< / div >
2022-12-03 21:44:45 +00:00
< / section >
< section id = "optional-php-extensions" >
2024-01-18 11:24:54 +00:00
< h2 > < a class = "toc-backref" href = "#id2" role = "doc-backlink" > Optional PHP Extensions< / a > < a class = "headerlink" href = "#optional-php-extensions" title = "Permalink to this heading" > < / a > < / h2 >
2022-04-16 04:22:45 +00:00
< p > The following PHP extensions should be enabled on your server:< / p >
< blockquote >
< div > < ul class = "simple" >
2022-11-24 05:17:47 +00:00
< li > < p > < a class = "reference external" href = "https://www.php.net/manual/en/mysqlnd.install.php" > mysqlnd< / a > (if you use MySQL)< / p > < / li >
< li > < p > < a class = "reference external" href = "https://www.php.net/manual/en/curl.requirements.php" > curl< / a > (if you use < a class = "reference internal" href = "../libraries/curlrequest.html" > < span class = "doc" > CURLRequest< / span > < / a > )< / p > < / li >
< li > < p > < a class = "reference external" href = "https://www.php.net/manual/en/imagick.requirements.php" > imagick< / a > (if you use < a class = "reference internal" href = "../libraries/images.html" > < span class = "doc" > Image< / span > < / a > class ImageMagickHandler)< / p > < / li >
< li > < p > < a class = "reference external" href = "https://www.php.net/manual/en/image.requirements.php" > gd< / a > (if you use < a class = "reference internal" href = "../libraries/images.html" > < span class = "doc" > Image< / span > < / a > class GDHandler)< / p > < / li >
< li > < p > < a class = "reference external" href = "https://www.php.net/manual/en/simplexml.requirements.php" > simplexml< / a > (if you format XML)< / p > < / li >
< / ul >
< / div > < / blockquote >
< p > The following PHP extensions are required when you use a Cache server:< / p >
< blockquote >
< div > < ul class = "simple" >
< li > < p > < a class = "reference external" href = "https://www.php.net/manual/en/memcache.requirements.php" > memcache< / a > (if you use < a class = "reference internal" href = "../libraries/caching.html" > < span class = "doc" > Cache< / span > < / a > class MemcachedHandler with Memcache)< / p > < / li >
< li > < p > < a class = "reference external" href = "https://www.php.net/manual/en/memcached.requirements.php" > memcached< / a > (if you use < a class = "reference internal" href = "../libraries/caching.html" > < span class = "doc" > Cache< / span > < / a > class MemcachedHandler with Memcached)< / p > < / li >
< li > < p > < a class = "reference external" href = "https://github.com/phpredis/phpredis" > redis< / a > (if you use < a class = "reference internal" href = "../libraries/caching.html" > < span class = "doc" > Cache< / span > < / a > class RedisHandler)< / p > < / li >
< / ul >
< / div > < / blockquote >
< p > The following PHP extensions are required when you use PHPUnit:< / p >
< blockquote >
< div > < ul class = "simple" >
< li > < p > < a class = "reference external" href = "https://www.php.net/manual/en/dom.requirements.php" > dom< / a > (if you use < a class = "reference internal" href = "../testing/response.html" > < span class = "doc" > TestResponse< / span > < / a > class)< / p > < / li >
< li > < p > < a class = "reference external" href = "https://www.php.net/manual/en/libxml.requirements.php" > libxml< / a > (if you use < a class = "reference internal" href = "../testing/response.html" > < span class = "doc" > TestResponse< / span > < / a > class)< / p > < / li >
< li > < p > < a class = "reference external" href = "https://xdebug.org/docs/install" > xdebug< / a > (if you use < code class = "docutils literal notranslate" > < span class = "pre" > CIUnitTestCase::assertHeaderEmitted()< / span > < / code > )< / p > < / li >
2022-04-16 04:22:45 +00:00
< / ul >
< / div > < / blockquote >
2022-12-03 21:44:45 +00:00
< / section >
< section id = "supported-databases" >
2024-01-18 11:24:54 +00:00
< span id = "requirements-supported-databases" > < / span > < h2 > < a class = "toc-backref" href = "#id3" role = "doc-backlink" > Supported Databases< / a > < a class = "headerlink" href = "#supported-databases" title = "Permalink to this heading" > < / a > < / h2 >
2018-09-23 09:21:22 -07:00
< p > A database is required for most web application programming.
Currently supported databases are:< / p >
< blockquote >
< div > < ul class = "simple" >
2023-04-26 07:49:26 +00:00
< li > < p > MySQL via the < code class = "docutils literal notranslate" > < span class = "pre" > MySQLi< / span > < / code > driver (version 5.1 and above only)< / p > < / li >
2023-05-18 07:58:13 +00:00
< li > < p > PostgreSQL via the < code class = "docutils literal notranslate" > < span class = "pre" > Postgre< / span > < / code > driver (version 7.4 and above only)< / p > < / li >
2023-04-26 07:49:26 +00:00
< li > < p > SQLite3 via the < code class = "docutils literal notranslate" > < span class = "pre" > SQLite3< / span > < / code > driver< / p > < / li >
2024-02-01 00:00:32 +00:00
< li > < p > Microsoft SQL Server via the < code class = "docutils literal notranslate" > < span class = "pre" > SQLSRV< / span > < / code > driver (version 2012 and above only)< / p > < / li >
2023-04-26 07:49:26 +00:00
< li > < p > Oracle Database via the < code class = "docutils literal notranslate" > < span class = "pre" > OCI8< / span > < / code > driver (version 12.1 and above only)< / p > < / li >
2018-09-23 09:21:22 -07:00
< / ul >
< / div > < / blockquote >
< p > Not all of the drivers have been converted/rewritten for CodeIgniter4.
The list below shows the outstanding ones.< / p >
< blockquote >
< div > < ul class = "simple" >
2020-08-15 20:48:04 +00:00
< li > < p > MySQL (5.1+) via the < em > pdo< / em > driver< / p > < / li >
2022-01-25 23:51:20 +00:00
< li > < p > Oracle via the < em > pdo< / em > drivers< / p > < / li >
2020-08-15 20:48:04 +00:00
< li > < p > PostgreSQL via the < em > pdo< / em > driver< / p > < / li >
2020-10-19 18:25:56 +00:00
< li > < p > MSSQL via the < em > pdo< / em > driver< / p > < / li >
2020-08-15 20:48:04 +00:00
< li > < p > SQLite via the < em > sqlite< / em > (version 2) and < em > pdo< / em > drivers< / p > < / li >
< li > < p > CUBRID via the < em > cubrid< / em > and < em > pdo< / em > drivers< / p > < / li >
< li > < p > Interbase/Firebird via the < em > ibase< / em > and < em > pdo< / em > drivers< / p > < / li >
< li > < p > ODBC via the < em > odbc< / em > and < em > pdo< / em > drivers (you should know that ODBC is actually an abstraction layer)< / p > < / li >
2018-09-23 09:21:22 -07:00
< / ul >
< / div > < / blockquote >
2022-12-03 21:44:45 +00:00
< / section >
2021-09-15 03:10:35 +00:00
< / section >
2018-09-23 09:21:22 -07:00
< / div >
< / div >
2021-09-15 03:10:35 +00:00
< footer > < div class = "rst-footer-buttons" role = "navigation" aria-label = "Footer" >
2021-01-05 01:15:26 +00:00
< a href = "index.html" class = "btn btn-neutral float-left" title = "Welcome to CodeIgniter4" accesskey = "p" rel = "prev" > < span class = "fa fa-arrow-circle-left" aria-hidden = "true" > < / span > Previous< / a >
2021-09-15 03:10:35 +00:00
< a href = "credits.html" class = "btn btn-neutral float-right" title = "Credits" accesskey = "n" rel = "next" > Next < span class = "fa fa-arrow-circle-right" aria-hidden = "true" > < / span > < / a >
2018-09-23 09:21:22 -07:00
< / div >
< hr / >
< div role = "contentinfo" >
2025-01-03 05:59:44 +00:00
< p > © Copyright 2019-2025 CodeIgniter Foundation.
2025-02-08 18:45:35 +00:00
< span class = "lastupdated" > Last updated on Feb 08, 2025.
2021-09-15 03:10:35 +00:00
< / span > < / p >
2018-09-23 09:21:22 -07:00
< / div >
2021-09-15 03:10:35 +00:00
Built with < a href = "https://www.sphinx-doc.org/" > Sphinx< / a > using a
2021-01-05 01:15:26 +00:00
< a href = "https://github.com/readthedocs/sphinx_rtd_theme" > theme< / a >
2021-09-15 03:10:35 +00:00
provided by < a href = "https://readthedocs.org" > Read the Docs< / a > .
2018-09-23 09:21:22 -07:00
< / footer >
< / div >
< / div >
< / section >
< / div >
2021-09-15 03:10:35 +00:00
< script >
2018-09-23 09:21:22 -07:00
jQuery(function () {
2020-07-05 04:53:02 +00:00
SphinxRtdTheme.Navigation.enable(false);
2018-09-23 09:21:22 -07:00
});
2021-09-15 03:10:35 +00:00
< / script >
2018-09-23 09:21:22 -07:00
< / body >
< / html >