Attempt to activate or retrieve Plesk Billing license produces error:
Error: There has been an internal error. Please try again later. If you continue to have problems please contact support and give them error code 2000.
Attempt to manually upload license ends up with PHP error:
Warning: zip_read() expects parameter 1 to be resource, integer given in /var/www/domain.tld/plesk-billing/admin/include/lib-action/modules/UploadKeyResponse.php on line 47
Recent changes on the side of Key Administrator introduced changes in license key signatures format which caused incompatibility with older versions of Plesk Billing. Only stand-alone installations are affected. Plesk Billing installations bundled with Plesk Panel are not affected.
Log into the server by SSH or Remote Desktop as server administrator and change directory to Plesk Billing installation directory.
Determine which engine was used to encrypt Plesk Billing PHP files - ZendGuard or ionCube - and download appropriate archive. This can be done by looking at the first line of any PHP file in the Billing directory:
<?php //0046a" - Billing is encrypted with ionCube 4.x and up. In that case, archive with hotfix is patch-ioncube-php5.zip
<?php //003ab" - Billing is encrypted with ionCube 3.x. In that case, archive with hotfix is patch-ioncube-php5.zip
<?php @Zend;" - Billing PHP files are encoded with ZendGuard. Archive with hotfix is patch-zend-php5.zip.
Once hotfix archive is downloaded, unpack it:
On Windows: Right-click on archive file and choose Extract all.... Replace path with Plesk Billing installation path and click Extract.
On Linux: Use one of the following
unzip patch-ioncube-php5.zip unzip patch-ioncube3-php5.zip unzip patch-zend-php5.zip
- Login into Plesk Billing interface and retrieve/upload license.