                      The ionCube Loader - Version 3.3
                      --------------------------------

This package contains the latest available Loaders for the PHP versions and
operating systems that you selected.

In the package you should also have:

* Loaders, including beta support for PHP 5.3 (not available on all platforms)

* The Loader installation helper script (ioncube-loader-helper.php)

* A file encoded with the ionCube PHP Encoder. This is needed by the helper
  script (ioncube-encoded-file.php).

* The License for use of the Loader and encoded files (LICENSE)


PHP 5.3 Support
---------------

This package also includes a Loader for the latest generation of the PHP
language, PHP 5.3. Our Loader for PHP 5.3 allows files encoded for previous
versions of PHP to be run on PHP 5.3, including in most cases, files encoded
for the PHP 4 language. The support for PHP 5.3 is well tested both with our
own test suite and also major web applications, however it is a beta release,
and we welcome reports of any unexpected behaviour, which if accompanied by a
a test case to reproduce, we will investigate.


Installation
------------

* INSTALLING FOR RUN-TIME LOADING

The run-time loading feature is the easiest way to run encoded files, and
lets encoded files locate and install the correct Loader when needed. 

Provided that run-time loading is supported on the target system, encoded
scripts and Loaders can be bundled together without the user having to install
any Loader or update their system configuration, and without having to
know about the PHP version or operating system used.

For run-time loading to work, a directory called 'ioncube' containing the
Loaders (e.g. this directory) should be placed in or above the top
directory of encoded files. For example, if you have encoded files in
or below '/var/www/htdocs/', you might place the 'ioncube' directory
in '/var/www/htdocs' or '/var/www'.  If you have an application or library
to distribute, you could place the ioncube directory within the top directory
of your project or library.


Runtime install with PHP 5.2.5 and above
----------------------------------------

The PHP 5.2.5 release of PHP addressed a potential security weakness with the
dl() function, used by the runtime install method. This improvement requires
that module libraries such as the Loader must be located in the module 
extensions directory if installed with dl(). If the Loader is installed in
the extensions directory, and files are encoded by Encoder 6.5.16 and later,
the online Encoder, or on older Encoder releases with a modified
PHP preamble (http://www.ioncube.com/newpreamble.zip and tar.gz), then
runtime install will usually be possible if dl() is available. If the
runtime method is unavailable, installing in a php.ini file may be used.


It's not working - why?
-----------------------

If encoded files fail to run with run-time loading, you can test this by
using the helper PHP script 'ioncube-loader-helper.php' that's included in
this package.

1. Copy the 'ioncube-loader-helper.php' and 'ioncube-encoded-file.php' PHP scripts
   to a directory where you expect encoded files to be working.

2. Access the 'ioncube-loader-helper.php' script from a web server or with a 
   PHP cli or cgi executable.

3. Choose the 'Run-time loading installation instructions' option.

4. The script will try to locate and install the required Loader, and will
   produce output as it runs.

5. Once complete the script will either report that run-time loading is working, 
   will provide instructions for how to correct any issue with the server
   configuration, or will report that Loaders must be installed in the php.ini
   file.


* INSTALLING IN PHP.INI

Installing in the php.ini file is also simple, and offers the best
performance for encoded scripts. It is also required for systems that use
safe mode, or if PHP has been built with thread support, e.g. on Windows.

The 'php.ini installation instructions' option on the installation helper PHP 
script is provided to assist with this. Access the script from a web server 
or a PHP cli or cgi executable and it should tell you which Loader to install, 
which file to edit and what you need to add  (it's just a one line change).


* NON-THREADED WINDOWS

Until recent PHP releases, PHP has always been built with thread-safety 
enabled. Our standard Windows Loaders are built for threaded releases, and 
would be installed in the php.ini file using zend_extension_ts.  
As of PHP 5.2, PHP installations on Windows are sometimes made with 
thread safety disabled, and in this case our Windows non-TS Loaders should
be used, and zend_extension used in the php.ini file instead of
zend_extension_ts.


Copyright (c) 2002-2009 ionCube Ltd.                  Last revised 09-Oct-2009
