Symptoms
The task to install the 'pp11-php5' application template to a customer's VPS fails in POA with multiple dependency errors like in the example below:
Internal error: 3501 : Can not install packages: exec failed:
Error: Missing Dependency: php53-cli is needed by package psa-php53-configurator
Error: Missing Dependency: php53-pdo is needed by package psa-php53-configurator
Error: Missing Dependency: php53-mysql is needed by package psa-php53-configurator
Error: Missing Dependency: php53-mbstring is needed by package psa-php53-configurator
Error: Missing Dependency: php53-common = 5.3.3-13.el5_9.1 is needed by package php53
Error: Missing Dependency: php53-xml is needed by package psa-php53-configurator
Error: Missing Dependency: php53-gd is needed by package psa-php53-configurator
Error: Missing Dependency: php53-imap is needed by package psa-php53-configurator
Error: Missing Dependency: php53-cli = 5.3.3-13.el5_9.1 is needed by package php53
Error: /usr/share/vzyum/bin/yum failed, exitcode=1
Cause
Most likely the VPS already has 'pp11-php53' template installed on it while customer is trying to install 'pp11-php5'.
Resolution
Check the list of application templates installed in the VPS from the PVC hardware node where the VPS is located:
# vzpkg list VPS_ID
Replace VPS_ID with the actual ID of the VPS in question (the ID may be found in the failed task properties).
If the VPS already has 'pp11-php53' template installed then situation is as follows:
The 'pp11-php53' template provides PHP 5.3 packages:
- psa-php53-configurator
- php5-ioncube-loader
- php53
- php53-cli
- psa11-php-fakepackage
- etc
The failed task tries to install the 'pp11-php5' template which provides PHP 5 packages:
- psa-php5-configurator
- php5-ioncube-loader
- php
- php-cli
- psa11-php-fakepackage
- etc
So, the task is trying to install php5 packages on top of php53 and fails due to dependency errors.
There are 2 possible options to resolve the problem:
If the owner of the VPS wants to keep using PHP 5.3 then cancel the failed task and remove the 'pp11-php5' application template from the list of templates installed in the VPS.
If the owner of the VPS wants to use PHP 5 instead of PHP 5.3 then follow the steps below:
- Cancel the failed task temporarily
- Backup VPS
- Remove the 'pp11-php53' template from the VPS in POA Provider Control Panel at Service Director > Virtuozzo Manager > Application Templates > .pp11-php53.centos-5-x8664 > .pp11-php53 > VPSs_ > check the problem VPS > click 'Uninstall'
- Make sure that background task for removal of the 'pp11-php53' application template was completed
- Rerun the canceled task in POA