POA tasks to provision APS applications to customers fail with the error message
PHP Fatal error: Call to undefined function like in the following examples:
PHP Fatal error: Call to undefined function getContextService() in /usr/local/pem/APS/instances/249/scripts/configure.php on line 166 PHP Fatal error: Call to undefined function getShopConfigService() in /usr/local/pem/APS/instances/150/scripts/configure.php on line 7
The name of the particular function may be different for different APS applications. The common symptom of the problem is that tasks fail with PHP fatal error
Call to undefined function.
Provisioning scripts in APS applications use short form (<? ?>) of PHP's open tag while the corresponding
short_open_tag option which allows using short form is disabled in the php.ini file on the Provisioning Gateway Host.
Follow the steps below to resolve the problem.
Find which Provisioning Gateway Host is used to provision APS application instance:
Find the application instance ID in the name of the failed task, e.g. in the example below the instance ID is 249:
APS application 'Open-Xchange', id 112, instance 249 -> service 'context', instance 357: executing configuration script, site 'http://mail.customer.com/'
- Having application instance ID find the Provisioning Gateway using the Knowledgebase article #115876 How to find Provisioning Gateway Host for APS application instance
Log into the Provisioning Gateway Host using SSH or RDP (depending on the host OS)
Correct the php.ini file - set the
short_open_tag = On
- Restart the failed tasks in POA Task Manager.
The php.ini file file location:
Linux Provisioning Gateway Host:
Windows Provisioning Gateway Host (the default location):
The exact location of the php.ini file on Windows server may be found in POA Provider Control Panel in the properties of the PHP package installed on the host (
php.install.full.pathparameter), see the example below:
Refer to the official PHP documentation for more details about the
short_open_tag option - http://www.php.net/manual/en/ini.core.php#ini.short-open-tag.