Symptoms

A customer cannot install an APS application in the POA Customer Control Panel due to the warning that PHP extension requirements are not satisified, e.g. it may be MySQL PHP extension like on the screenshot below:

The customer is trying to install an APS application onto their domain hosted in the Apache webspace.

Cause

There is no information about the required PHP extension on the managed Apache/IIS server where the customer's webspace is located in the POA database, as a result POA does not allow to install an APS application which require given PHP extension.

POA does not show the list of existing PHP extensions installed on a managed server in the Control Panel, this information may be found in the POA database only.

Also, POA has no information about the extensions of the Apache/IIS service, which were installed bypassing POA Control Panel, until manually installed extension are synced to the POA database.

Resolution

Provider has to update the information about the PHP extensions installed on the host where the customer's webspace in question is located, use the steps below to do that:

  1. Find the server where the customer's webspace is located in the OA Provider Control Panel at Services > Web Hosting > Websites or Services > Web Hosting > Webspaces. Search for the required webspace using the webspace ID (shown in the Customer Control Panel) or name of the domain the customer is going to install the APS application on.

  2. Log into the found server and make sure that the required PHP application is actually installed on the server. Usually, Apache PHP5 extensions are installed in the /usr/lib64/php/modules directory, PHP4 - /usr/libexec/php4-cgi/lib64/php4.

  3. Go to the host found on the previous step in the OA Provider Control Panel.

  4. In case the host is the regular Apache shared hosting server:

    4.1. Switch to the Applications tab 4.2. Click on the Apache application 4.3. Switch to the Extensions tab 4.4. Click the Synchronize Extensions with Apache Service button 4.5. Wait until the background task with name 'Update list of Apache service extensions for service with ID #ID' is completed in the POA Task Manager 4.6. Try to install the APS application again

  5. In case the host is the NG hosting web cluster:

    5.1. Switch to the 'Apache Extensions' folder in the NG web cluster properties 5.2. Click the 'Synchronize Apache Extensions' button 5.3. Wait until the background task with name 'Update list of Apache service extensions for service with ID #ID' is completed in the POA Task Manager 5.4. Try to install the APS application again

  6. In case the host is the IIS shared hosting server:

    6.1. Log in to the OA Management node. 6.2. Create the file with the following content, replacing the $host_id with the required one:

    # cat pem.iis.updatePHPExtensionsList.xml
    <?xml version='1.0'?>
    <methodCall>
      <methodName>pem.iis.updatePHPExtensionsList</methodName>
      <params>
        <param>
          <value>
            <struct>
              <member>
                <name>host_id</name>
                  <value><i4>$host_id</i4></value>
              </member>
            </struct>
          </value>
        </param>
      </params>
    </methodCall>
    

    6.3. Run the following command:

    # curl -d@pem.iis.updatePHPExtensionsList.xml http://localhost:8440
    

See also the Knowledgebase article #115885 about the similar problem with not satisfied database requirements during an APS application installation.

Internal content