- Plesk Onyx for Linux
Unable to update PrestaShop instance for a domain at Plesk > Domains > example.com ('Installer' button near PrestaShop):
PLESK_ERROR: Non-zero exit status returned by script
The following error is displayed in Plesk logs /var/log/plesk/panel.log:
CONFIG_TEXT: ERR  PleskUtilException: '/usr/local/psa/admin/bin/sappmng' '-run-application-script' 'script-file-name=configure' 'script-name=upgrade' 'script-language=php' 'user-name=johndoe' 'php-cli=/opt/plesk/php/5.6/bin/php' 'php-ini=/var/www/vhosts/system/example.com/etc/php.ini' '-application-full-name=file:////usr/local/psa/var/apspackages/adiok0Cy1.z
ipef158c73-df78-fe7b-2c03/cache' '--' '126.96.36.199' '14' failed with code 123
The issue is submitted as a bug #PPPM-8926 which is planned to be fixed in one of the future Plesk updates.
APS applications are upgraded by overwriting files in the DocumentRoot with the files from the APS package. One of the newer Prestashop upgrades introduced UpdateLicensesCommand.php file, which should have replaced UpdateLicencesCommand.php, as they both implement the same functions.
Since APS only places files on top of already existing instance, it causes Symfony (the framework used in Prestashop) to fail while searching for the callback function, because there are multiple instances of this function.
As a workaround use the following instruction:
Connect to the server via SSH.
Move UpdateLicencesCommand.php file from /var/www/vhosts/example.com/src/PrestaShopBundle/Command/ to another location(i.e. /root):
# mv /var/www/vhosts/example.com/src/PrestaShopBundle/Command/UpdateLicencesCommand.php /root/
- Update PrestaShop by clicking Installer at Plesk > Domains > example.com