Articles in this section

How to enable ionCube Loader module for PHP shipped with Plesk on Linux?

kb: how-to Plesk for Linux

Applicable to:

  • Plesk for Linux

Question

How to enable the ionCube Loader module for PHP shipped with Plesk on Linux?

Answer

Starting from Plesk Obsidian 18.0.49, the ionCube Loader can be installed for PHP shipped with Plesk as follows:

Note: the example below is shown for PHP 8.2, apply the similar steps for required PHP version.

  1. Log in to Plesk.

  2. Go to Tools & Settings > General Settings > PHP Settings > 8.2, click Manage PECL Packages, and then Install package:
  3. Specify "ioncube_loader" in the field Package name and click OK:
  4. Go to Tools & Settings > PHP Settings > click on any handler of necessary version (8.2 in the above example) and enable ioncube_loader_lin_X.X.

Installing ionCube loader via a command-line interface 
  1. Connect to a Plesk server using SSH.

  2. Run the command below:

    # plesk bin php_handler --extension-install ioncube_loader -id plesk-php81-fpm

 

Additional information

The IonCube loader is not available for installation in Plesk GUI

 

For the following steps can be applied to install it manually for PHP 8.1:
Note: ionCube Loader for PHP 8 installation at the server with Plesk had not been tested and Plesk cannot guarantee its stable work.

  1. Connect to the server using SSH.

  2. Download the latest version of the loader:

    # cd /root/
    # wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

  3. Unpack it:

    # tar -xvf ioncube_loaders_lin_x86-64.tar.gz

  4. Install It:

    For Debian and Ubuntu:
    • Backup the old loader:

      # cp -av /opt/plesk/php/8.1/lib/php/modules/ioncube_loader_lin_8.1.so{,.old}

    • Install a new one:

      # cp -av ioncube/ioncube_loader_lin_8.1.so /opt/plesk/php/8.1/lib/php/modules/ioncube_loader_lin_8.1.so

       

    For RHEL, CentOS and CloudLinux:
    • Backup the old loader:

      # cp -a /opt/plesk/php/8.1/lib64/php/modules/ioncube_loader_lin_8.1.so{,.old}

       

    • Install a new one (confirm file overwriting when asked):

      # cp -a ioncube/ioncube_loader_lin_8.1.so /opt/plesk/php/8.1/lib64/php/modules/ioncube_loader_lin_8.1.so

       

  5. Create ini file:

    # touch /opt/plesk/php/8.1/etc/php.d/00-ioncube-loader.ini

  6. Add the following string to ini file:

    CONFIG_TEXT: zend_extension=ioncube_loader_lin_8.1.so

  7. Restart Apache Web Server in order to apply the change:

    • For Debian and Ubuntu:

      # service apache2 restart

    • For RHEL-based operating systems:

      # service httpd restart

  8. Check the version by executing php -v command:

    # /opt/plesk/php/8.1/bin/php -v | grep -i ioncube
    with the ionCube PHP Loader v12.0.1, Copyright (c) 2002-2022, by ionCube Ltd.

Was this article helpful?

Comments

4 comments
Date Votes
  • I don't have Manage PECL Packages in PHP settings.

    0
  • no news for windows

    0
  • Does not work.  Actual loader name includes the version ( i.e. ioncube_loader_lin_8.3.so ) See error below …

    php_modules_ctl failed: readelf: /opt/plesk/php/8.3/lib64/php/modules/ioncube_loader.so: Error: No such file
    readelf: /opt/plesk/php/8.3/lib64/php/modules/ioncube_loader.so: Error: No such file
    cannot find config for extension 'ioncube_loader'
    Cannot enable extension 'ioncube_loader'
    0
  • Hi Mike Yrabedra  

    It is a known issue caused by the bug PPPM-15104 in Plesk, it should be fixed in upcoming Plesk version.

    Until it's fixed, use the workaround:

    1. Connect to the Plesk server via SSH.
    2. Uncomment line zend_extension=ioncube_loader_lin_X.X.so in the file /opt/plesk/php/X.X/etc/php.d/00-ioncube-loader.ini, where X.X is the affected PHP version.
    3. Restart related services (PHP-FPM, Apache, nginx).
       
    0

Please sign in to leave a comment.