diff options
Diffstat (limited to 'user_guide_src/source/installation/upgrade_200.rst')
-rw-r--r-- | user_guide_src/source/installation/upgrade_200.rst | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/user_guide_src/source/installation/upgrade_200.rst b/user_guide_src/source/installation/upgrade_200.rst new file mode 100644 index 000000000..064e1b534 --- /dev/null +++ b/user_guide_src/source/installation/upgrade_200.rst @@ -0,0 +1,90 @@ +############################# +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 :doc:`File +Helper <../helpers/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 <../libraries/encryption.html#legacy>`_ 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. |