summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/installation/upgrade_310.rst
diff options
context:
space:
mode:
authorAndrey Andreev <narf@devilix.net>2016-07-26 20:03:12 +0200
committerAndrey Andreev <narf@devilix.net>2016-07-26 20:03:12 +0200
commit77266bc6a01668b2106b9974da02e2a7ceaf2fe6 (patch)
tree955346c3278c03a2ff4174b9d078e9416a298ee9 /user_guide_src/source/installation/upgrade_310.rst
parenta9874a638970ef826f835718e58b197ff3672566 (diff)
parent0b9540209499fbd0515e13fdc66e85dea4b6baad (diff)
Merge branch '3.1-stable' into develop
Conflicts resolved: .travis.yml system/core/CodeIgniter.php system/database/drivers/oci8/oci8_forge.php system/database/drivers/pdo/subdrivers/pdo_oci_forge.php system/helpers/path_helper.php system/libraries/Email.php user_guide_src/source/changelog.rst user_guide_src/source/conf.py user_guide_src/source/contributing/index.rst user_guide_src/source/general/requirements.rst user_guide_src/source/general/styleguide.rst user_guide_src/source/installation/downloads.rst user_guide_src/source/installation/upgrade_310.rst user_guide_src/source/installation/upgrading.rst
Diffstat (limited to 'user_guide_src/source/installation/upgrade_310.rst')
-rw-r--r--user_guide_src/source/installation/upgrade_310.rst110
1 files changed, 18 insertions, 92 deletions
diff --git a/user_guide_src/source/installation/upgrade_310.rst b/user_guide_src/source/installation/upgrade_310.rst
index 36f69d01b..cae814327 100644
--- a/user_guide_src/source/installation/upgrade_310.rst
+++ b/user_guide_src/source/installation/upgrade_310.rst
@@ -1,5 +1,5 @@
#############################
-Upgrading from 3.0.x to 3.1.x
+Upgrading from 3.0.6 to 3.1.0
#############################
Before performing an update you should take your site offline by
@@ -13,100 +13,26 @@ Replace all files and directories in your *system/* directory.
.. note:: If you have any custom developed files in these directories,
please make copies of them first.
-Step 2: Change database connection handling
-===========================================
+Step 2: Check your PHP version
+==============================
-"Loading" a database, whether by using the *config/autoload.php* settings
-or manually via calling ``$this->load->database()`` or the less-known
-``DB()`` function, will now throw a ``RuntimeException`` in case of a
-failure.
+We recommend always running versions that are `currently supported
+<https://secure.php.net/supported-versions.php>`_, which right now is at least PHP 5.6.
-In addition, being unable to set the configured character set is now also
-considered a connection failure.
+PHP 5.2.x versions are now officially not supported by CodeIgniter, and while 5.3.7+
+may be at least runnable, we strongly discourage you from using any PHP versions below
+the ones listed on the `PHP.net Supported Versions <https://secure.php.net/supported-versions.php>`_
+page.
-.. note:: This has been the case for most database drivers in the in the
- past as well (i.e. all but the 'mysql', 'mysqli' and 'postgre'
- drivers).
+Step 3: If you're using the 'odbc' database driver, check for usage of Query Builder
+====================================================================================
-What this means is that if you're unable to connect to a database, or
-have an erroneous character set configured, CodeIgniter will no longer
-fail silently, but will throw an exception instead.
+:doc:`Query Builder <../database/query_builder>` functionality and ``escape()`` can
+no longer be used with the 'odbc' database driver.
-You may choose to explicitly catch it (and for that purpose you can't use
-*config/autoload.php* to load the :doc:`Database Class <../database/index>`)
-::
+This is because, due to its nature, the `ODBC extension for PHP <https://secure.php.net/odbc>`_
+does not provide a function that allows to safely escape user-supplied strings for usage
+inside an SQL query (which our :doc:`Query Builder <../database/query_builder>` relies on).
- try
- {
- $this->load->database();
- }
- catch (RuntimeException $e)
- {
- // Handle the failure
- }
-
-Or you may leave it to CodeIgniter's default exception handler, which would
-log the error message and display an error screen if you're running in
-development mode.
-
-Remove db_set_charset() calls
------------------------------
-
-With the above-mentioned changes, the purpose of the ``db_set_charset()``
-method would now only be to change the connection character set at runtime.
-That doesn't make sense and that's the reason why most database drivers
-don't support it at all.
-Thus, ``db_set_charset()`` is no longer necessary and is removed.
-
-Step 3: Check logic related to URI parsing of CLI requests
-==========================================================
-
-When running a CodeIgniter application from the CLI, the
-:doc:`URI Library <../libraries/uri>` will now ignore the
-``$config['url_suffix']`` and ``$config['permitted_uri_chars']``
-configuration settings.
-
-These two options don't make sense under the command line (which is why
-this change was made) and therefore you shouldn't be affected by this, but
-if you've relied on them for some reason, you'd probably have to make some
-changes to your code.
-
-Step 4: Check Cache Library configurations for Redis, Memcache(d)
-=================================================================
-
-The new improvements for the 'redis' and 'memcached' drivers of the
-:doc:`Cache Library <../libraries/caching>` may require some small
-adjustments to your configuration values ...
-
-Redis
------
-
-If you're using the 'redis' driver with a UNIX socket connection, you'll
-have to move the socket path from ``$config['socket']`` to
-``$config['host']`` instead.
-
-The ``$config['socket_type']`` option is also removed, although that won't
-affect your application - it will be ignored and the connection type will
-be determined by the format used for ``$config['host']`` instead.
-
-Memcache(d)
------------
-
-The 'memcached' will now ignore configurations that don't specify a ``host``
-value (previously, it just set the host to the default '127.0.0.1').
-
-Therefore, if you've added a configuration that only sets e.g. a ``port``,
-you will now have to explicitly set the ``host`` to '127.0.0.1' as well.
-
-Step 5: Check usage of doctype() HTML helper
-============================================
-
-The :doc:`HTML Helper <../helpers/html_helper>` function
-:php:func:`doctype()` used to default to 'xhtml1-strict' (XHTML 1.0 Strict)
-when no document type was specified. That default value is now changed to
-'html5', which obviously stands for the modern HTML 5 standard.
-
-Nothing should be really broken by this change, but if your application
-relies on the default value, you should double-check it and either
-explicitly set the desired format, or adapt your front-end to use proper
-HTML 5 formatting. \ No newline at end of file
+Thus, user inputs MUST be bound, as shown in :doc:`Running Queries <../database/queries>`,
+under the "Query Bindings" section.