Views: 68588
Last Modified: 04.09.2024

PHP enabled web server

Apache (recommended) – the Bitrix software was developed for Apache 2.0 and higher.

PHP

Bitrix24 Self-hosted requires PHP version 8.1.x From 30 June 2019. or higher. It is recommended that you use the latest stable release of PHP to prevent PHP failures and to provide the maximum security at the server side.

The following PHP extensions are required:

  • GD – image handling library. Required for building graphs and charts which is essential for the Statistics, Advertising and Helpdesk modules. The library is also used with CAPTCHA.
  • PHP XML – used by the update system. This library is inluded in the standard installation package of PHP. The Windows version of PHP has a built-in XML support.
  • FreeType – required for the correct functioning of CAPTCHA.
  • Regular Expression support (POSIX and Perl compatible) – the system requires the regular expression support at the core level.
  • Zlib compression – the compression library is required by the Compression module and the update system to decrease the amount of transferred data.
  • PHP accelerator is highly recommended, for example OPcache or XCache, in order to significantly speed up the operation of PHP applications.

    Attention: eAccelerator is not compatible with PHP v5.3+ and is not supported any longer in Bitrix products starting from Kernel module version 15.0.13.

Note. UTF-8 is available for MySQL. To ensure the correct support of UTF encryption, check if the mbstring module is installed in PHP. In this context, the php.ini file in the PHP settings must include:
 mbstring.func_overload=2
 mbstring.internal_encoding=UTF-8

Database server support

MySQL

MySQL 8.0 From 30 June 2019. version and higher is recommended.

To support MySQL, the system requires the MySQL support for PHP to be installed.

Attention! From 1 January 2017, Bitrix24 has limited support for products using Oracle Database and MS SQL Server: clients cannot download product updates and use new product versions.

Note: Encoding MySQL utf8mb4 is not supported.

Web server configuration

For proper functioning, Bitrix24 requires the following parameters to be set.

PHP settings

The following PHP parameters are essential.

  1. memory_limit = 64M;

    Maximum amount of PHP memory required by the system core.

    Note: this parameter can be changed:
    • by editing the file php.ini directly;
    • from within a script by calling ini_set("memory_limit", "64M");
      This call is added to /bitrix/php_interface/dbconn.php at the installation time using the user-supplied value;
    • in the file .htaccess using the directive: php_value memory_limit 64M
    • in the file httpd.conf using the directive: php_admin_value memory_limit 64M

    Note: parameters can be altered from within the .htaccess file if the following conditions are met:
    • Apache (or compatible) web server is used;
    • .htaccess files are processed by a web server, which means that the web server configuration file (httpd.conf) contains the directive AllowOverride set to All or any value other than None;
    • PHP is installed as an Apache module (if PHP runs as CGI all the required parameters must be set when compiling PHP)

  2. file_uploads = On;
    The parameter defines whether files can be uploaded to a server or not.

    Additionally, the following variables are also to be set:

    • upload_tmp_dir = <folder name>
    • upload_max_filesize = <required file size limit>

    Important: It is essential that the specified directory exists, and a current user (under which the web server runs) is granted the write permissions for this folder.

  3. Proper PHP session handling is the indispensable condition. You are recommended to check that the folder where the session files are saved exists.

    Note: if the parameter session.save_path is missing from php.ini, the default value of /tmp is used.

    If the server URL's happen to contain the PHPSESSID=... parameter, you hide it as follows:
    • Add the line session.use_trans_sid = 0 to php.ini;
    • In .htaccess, add the following directive: php_flag session.use_trans_sid off
      The demo site has this line included in .htaccess, you can uncomment it if required.



Courses developed by Bitrix24