Upgrading from 1.7.2 to 2.0.0
+ +Before performing an update you should take your site offline by replacing the index.php file with a static one.
+ + + +Step 1: Update your CodeIgniter files
+ +Replace all files and directories in your "system" folder except your application folder.
+ +Note: If you have any custom developed files in these folders please make copies of them first.
+ +Step 2: Adjust get_dir_file_info() where necessary
+ +Version 2.0.0 brings a non-backwards compatible change to get_dir_file_info() in the File Helper. Non-backwards compatible changes are extremely rare + in CodeIgniter, but this one we feel was warranted due to how easy it was to create serious server performance issues. If you need + recursiveness where you are using this helper function, change such instances, setting the second parameter, $top_level_only to FALSE:
+ +get_dir_file_info('/path/to/directory', FALSE);
+
+
+
+Step 3: Convert your Plugins to Helpers
+ +2.0.0 gets rid of the "Plugin" system as their functionality was identical to Helpers, but non-extensible. You will need to rename your plugin files from filename_pi.php to filename_helper.php, move them to your helpers folder, and change all instances of:
+
+ $this->load->plugin('foo');
+
+to
+
+ $this->load->helper('foo');
+
+
Step 4: Update stored encrypted data
+ +Note: If your application does not use the Encryption library, does not store Encrypted data permanently, or is on an environment that does not support Mcrypt, you may skip this step.
+ +The Encryption library has had a number of improvements, some for encryption strength and some for performance, that has an unavoidable consequence of + making it no longer possible to decode encrypted data produced by the original version of this library. To help with the transition, a new method has + been added, encode_from_legacy() that will decode the data with the original algorithm and return a re-encoded string using the improved methods. + This will enable you to easily replace stale encrypted data with fresh in your applications, either on the fly or en masse.
+ +Please read how to use this method in the Encryption library documentation.
+ +Step 5: Remove loading calls for the compatibility helper.
+The compatibility helper has been removed from the CodeIgniter core. All methods in it should be natively available in supported PHP versions.
+ +Step 6: Update Class extension
+All core classes are now prefixed with CI_. Update Models and Controllers to extend CI_Model and CI_Controller, respectively.
+ +Step 7: Update Parent Constructor calls
+All native CodeIgniter classes now use the PHP 5 __construct() convention. Please update extended libraries to call parent::__construct().
+ +Step 8: Update your user guide
+Please replace your local copy of the user guide with the new version, including the image files.
+ +