Regardless of the minimum version requirements, it is strongly recommended to use a version of PHP that is not EOL (currently 5.6 or later).
Installations with more than a thousand or so CO Person records should consider using PHP 7, which features improved memory utilization.
Depending on your requirements, you may need the following PHP options:
PHP Functionality | Required? | Build Option | Debian Package1 | RHEL Package2 |
---|---|---|---|---|
XSL | Yes |
| php*-xsl | php-xsl |
An appropriate database option | Yes | eg | php*-pgsql or php*-mysql | php-pgsql or php-mysql |
OpenSSL | If COmanage will connect directly to an SMTP server to send mail, using SSL or TLS |
| Enabled by default | php-openssl |
mbstring | For multi-byte string support in data normalization |
| Enabled by default | php-mbstring |
LDAP | In order to use any LDAP based plugin (including the LDAP Provisioning Plugin, LDAP Identifier Validator Plugin, or LDAP Source Plugin) |
| php*-ldap | php-ldap |
1Debian packages use the PHP version number (eg: 5 or 7.0) in place of the *.
2Not all packages are available in the default repos.
As of PHP 5.4.0, PHP ships by default with strict logging enabled. As of CakePHP 2.0.5, this will cause failures during setup. This can be disabled in
|
There are known issues with earlier versions of the PCRE library that will cause COmanage Registry to be unable to set up its database tables. Version 6.6 and earlier are known to have problems, while versions 8.02 and later are known to work. You can check the version that PHP was built against by running this command:
If you are using an old version of PCRE, you'll first need to install a more recent version. Be sure to configure it with the Alternately, you may be able to rebuild PHP using its own internal copy of PCRE. As of PHP v5.3.3, PCRE 8.02 or later is included by default. |
The database setup step may throw errors like You can test for this with
|
PHP will work with many different database servers. You may wish to test that PHP was built with support for MySQL or PostgreSQL (or whatever database you are using). You should have already installed and configured the database server and (in this example) have created a user named registry_user
.
To test if PHP was built with support for MySQL create the file mysql-test.php
with contents
<?php mysql_connect("localhost", "registry_user", "a password goes here") or die(mysql_error()); echo "Connected to MySQL<br/>"; ?> |
To test if PHP was built with support for PostgreSQL create the file postgreSQL-test.php
with contents
<?php pg_connect("host=localhost dbname=test user=registry_user password=password") or die(pg_last_error()); echo "Connected to PostgreSQL<br/>"; ?> |
Either run the command line php
tool on the file or serve it from your webserver and make sure that the script can connect to your database server.
Be sure to remove your test file after testing so it is not exposed on your web server. |
As for all production PHP installations, display_errors
should be set to Off
in your php.ini.