Symptoms
An APS order provisioning fails along with a task with error:
Internal error: Plesk::SaaS::SaaSManagerTasks_impl::taskExecuteWorkflow : [APSC] Application returned error with an empty message
Following is registered on POA management node in apsc.http.log
:
Jun 20 20:16:23 <MN> : OUT <ENDPOINT_IP> [2157] "POST /APS/account HTTP/1.1" [0] "500 Internal Server Error" 110ms
The cause can be found in webserver's error log on endpoint host:
PHP Fatal error: Call to undefined method APS\\ControllerProxy::impersonate() in /var/www/html/APS/account.php on line 614cxfc
Cause
The part of application that returned error is on the APS endpoint node. See KB #119075 for full details on how to investigate endpoint errors.
To determine additional details, please do the following:
- first of all, check if the endpoint host has free space. If not, free up some space and check if the issue is still reproduced
- Enable APS debugging in POA PCP Settings > System Properties if it was not enabled .
Use
tail
on endpoint to tail the lines appended toerror_log
:# tail -f /var/log/httpd/error_log or # tail -f /var/log/httpd/ssl_error_log
- Re-run the task/resubmit the order for provisioning,
- Note if the line "
PHP Fatal error: Call to undefined method APS\\ControllerProxy::impersonate() in /var/www/html/APS/account.php on line 614
" appears in the output. - Disable APS debugging if this is a production POA installation and not a sandbox.
If it does - PHP runtime on the endpoint is not of correct version, thus calling impersonate method results in an error.
Resolution
For this particular error it is needed to upgrade aps-php-runtime to a newer version:
http://doc.apsstandard.org/tools/php_lib/
Starting from POA 5.5.5, the php runtime is updated on each hotfix and can be found in POA repository on management node.