Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


Open Source PHP Framework (originally from EllisLab)

Subscribe to updates I use CodeIgniter

Statistics on CodeIgniter

Number of watchers on Github 15807
Number of open issues 72
Average time to close an issue 1 day
Main language PHP
Average time to merge a PR 2 days
Open pull requests 78+
Closed pull requests 228+
Last commit about 2 years ago
Repo Created almost 9 years ago
Repo Last Updated about 2 years ago
Size 48.9 MB
Homepage https://codeignit...
Organization / Authorbcit-ci
Page Updated
Do you use CodeIgniter? Leave a review!
View open issues (72)
View CodeIgniter activity
View TODOs for CodeIgniter (21)
View on github
Fresh, new opensource launches πŸš€πŸš€πŸš€
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating CodeIgniter for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

What is CodeIgniter

CodeIgniter is an Application Development Framework - a toolkit - for people who build web sites using PHP. Its goal is to enable you to develop projects much faster than you could if you were writing code from scratch, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and logical structure to access these libraries. CodeIgniter lets you creatively focus on your project by minimizing the amount of code needed for a given task.

Release Information

This repo contains in-development code for future releases. To download the latest stable release please visit the CodeIgniter Downloads <https://codeigniter.com/download>_ page.

Changelog and New Features

You can find a list of all changes for each release in the user guide change log <https://github.com/bcit-ci/CodeIgniter/blob/develop/user_guide_src/source/changelog.rst>_.

Server Requirements

PHP version 5.6 or newer is recommended.

It should work on 5.4.8 as well, but we strongly advise you NOT to run such old versions of PHP, because of potential security and performance issues, as well as missing features.


Please see the installation section <https://codeigniter.com/user_guide/installation/index.html>_ of the CodeIgniter User Guide.


Please see the license agreement <https://github.com/bcit-ci/CodeIgniter/blob/develop/user_guide_src/source/license.rst>_.


  • User Guide <https://codeigniter.com/docs>_
  • Language File Translations <https://github.com/bcit-ci/codeigniter3-translations>_
  • Community Forums <http://forum.codeigniter.com/>_
  • Community Wiki <https://github.com/bcit-ci/CodeIgniter/wiki>_
  • Community Slack Channel <https://codeigniterchat.slack.com>_

Report security issues to our Security Panel <mailto:security@codeigniter.com>_ or via our page on HackerOne <https://hackerone.com/codeigniter>_, thank you.


The CodeIgniter team would like to thank EllisLab, all the contributors to the CodeIgniter project and you, the CodeIgniter user.

CodeIgniter open issues Ask a question     (View All Issues)
  • over 3 years loading helper not case sensitive
  • over 3 years Documentation for set_cookie clarification
  • over 3 years Update batch wrongly escaping causing error
  • over 3 years DBFORGE error using default CURRENT_TIMESTAMP
  • over 3 years Sendmail and Blind OS Injection
  • over 3 years CI_DB_driver::escape() - destroying opening sequences starting with %0, %1
  • over 3 years error insert_batch using PHP7
  • over 4 years Profiler only supports HTML output - Virtually impossible to use for JSON API and/or CLI
  • over 4 years wrong detected mobile browser with user_agent library - MALGJS;
  • over 4 years Allow custom result objects to be mapped after constructor
  • over 4 years Refactor for exceptions
  • over 4 years query builder select with alias
  • over 4 years _clean_input_keys method definition incorrect
  • almost 5 years Resolve the issues with stored_procedure()
  • about 5 years redirect() stops phpunit testing
  • about 5 years Email library batch_bcc_send() will never know if all batches actually sent _spool_email()
  • about 5 years Image_lib:image_process_gd() just copies file if width/height match original, but what about quality?
  • over 5 years DKIM Support on Codeigniter
  • over 5 years Unit testing with Codeigniter
  • over 5 years dead parameter in form_upload
  • over 5 years Password Generation Component
  • over 5 years Moving logic from create_links() in pagination
  • over 6 years Table names with commas.
  • over 6 years Extend DB Drivers...?
  • almost 7 years Usage of standard timezones to get real times (daylight savings)
  • about 7 years Feature Request: easy access to validated form data
  • over 7 years Function _protect_identifiers from CI_DB_driver class breaks when active_record is set to FALSE
  • over 7 years Making DB Cache use the Cache driver not file cache
  • over 7 years Support for using regex in the $field parameter of Form_validation::set_rules().
  • almost 8 years $this->dbforge->add_key for Foreign Key
CodeIgniter open pull requests (View All Pulls)
  • update to config/database to support port for mysqli
  • Image_lib with user defined output image type
  • Image_lib::get_image_properties invalid image handling
  • Fix Cascade View
  • Create Add Foreign Key Function
  • Name correction
  • Refactor exception handling in database/DB
  • Create foreign keys with CI_DB_Forge
  • Added alt attribute functionality …
  • Update mimes
  • Update user_agents.php
  • DB_query_builder->_where_in() produce an db error if $values array is…
  • Update postgre_driver.php
  • Deprecated code in develop branch
  • Update welcome_message.php
  • Form Validation: Add native rule valid_mac
  • Update Xmlrpc.php
  • Add the name of the directory in the array key.
  • Fixed an issue where image_process_gd would ignore the config quality setting.
  • DB reconnect(): improvements
  • Update Image_lib.php
  • issue #1762 : Forge / Add Foreign Keys
  • Fixing TLS issue for sending email to exchange server
  • result_array(), result_object() to accept a field name to use as key of returned array
  • Feature/exceptions synch
  • Check to see whether the cache driver(redis/memcache(d)) is supported when it is initialized
  • update to config/database to support non default port for DB server
  • Feature request #3649 fix
  • Remove unnecessary backslash from user guide
  • Exceptions pagination
  • Fix notice in cases where method happens to be empty
  • Exceptions xmlrpc
  • Fixes #4583 by separating attachments to related and mixed multiparts
  • allow multiple validation callbacks for uploads
  • Exceptions userguide
  • Exceptions migration
  • Exceptions ftp
  • Exceptions driver
  • Separate profiler view to a template file
  • #3250 create_links logic refactoring + JSON format added
  • fixes #4679 bug in handling of IPv6 reverse proxies
  • Ftp : Close present connection before create new one and also in destructor method
  • Form dropdown duplicates
  • Update path_helper.php
  • Fix custom user agent not working
  • Input: sanitizing optimization
  • Updated list of words that aren't countable
  • Zip Compress library improvements
  • Small fix for HTML Table library
  • Download helper improvement on reading phase
  • Redis Lock sleep time to 0.1s from 1s.
  • Create database if not exists
  • fix
  • Update directory_helper.php
  • Add second parameter 'scheme' to valid_url.
  • Update welcome_message.php (fix)
  • Fix several potential XSS injections in the form_helper
  • Accept array in query builder -> order_by
  • close redis connection on driver destruct if is connected.
  • Removed whitelist from Postgres driver code to allow additional valid options
  • Bugfix on PHP namespacing error for stdClass
  • DB_query_builder: Add cache merge flag.
  • Do not send secure cookie if not https
  • FTP library list_files
  • add pre tag in config and session when array
  • A session reads a different file when a bug
  • prevent _ci_vars from being cached in _ci_cached_vars
  • The Second Time Get Config Fail Becose Of Params use_sections
  • add mime type for doc associated with linux desktop
  • Allow where_in() etc. to handle row constructor syntax
  • fix for get_where not honoring table aliasses
  • Offset as data attribute in Pagination links
  • Fixed bug that download filename character code did not change
  • File name changing in dynamic output image_lib
  • Bug fix that made the mobile not be identified by robots
  • Allow cross join (join on true) in query builder
  • Added parenthesis check around "document" elements and fixed non-existent document.window filter to window.document
  • oci8 database driver: Added support of insert_id()
CodeIgniter questions on Stackoverflow (View All Questions)
  • when i click the download button it will decode all the content..it does not download in codeigniter
  • How to display results from two tables using JOIN in codeigniter?
  • Hierarchical Model View Controller Test on CodeIgniter 3.04
  • How to display data in angularjs from 2 join tables in codeigniter?
  • CodeIgniter create folder with variable name
  • trouble with selecting from database with codeigniter
  • how to configure codeigniter hmvc in subdomain
  • Codeigniter $this->db->where not working
  • Autocomplete Codeigniter when using get_instance()
  • Logout user session automatically in codeigniter
  • Codeigniter + Angular Js: How to receive JSON data
  • Angular js with codeigniter
  • Migrating codeigniter to another server
  • searching, sorting grind with angular js in codeigniter
  • Codeigniter custom URL structure
  • codeigniter form validation error message does not display
  • codeigniter how to set route with no segment and also no of segment
  • Creating multiple pdfs (containing arabic/farsi language) using mpdf library with codeigniter,
  • CodeIgniter 3.0.0 Project doesn't work on sub domain
  • How can solb codeigniter index file error?
  • Changing the views default path on Codeigniter 3.0 versions
  • configure codeIgniter for Emberjs
  • How to get value column where column in codeigniter 3
  • codeigniter image and pdf upload fail
  • how to select query in codeigniter and display it in ionic?
  • How do I have a form on one page with the action on another page in CodeIgniter?
  • Pagination in Codeigniter with sql and html table
  • modify array value from php file in codeigniter or php
  • Session variable in Codeigniter Not Working
  • How to set userid into a session array in codeigniter?
CodeIgniter list of languages used
Other projects in PHP