Symptoms

A customer cannot manage instance of the WordPress APS application installed in their subscription in POA Control Panel, corresponding POA tasks fail with the error message like "Table 'db20496_sa12345_main.wp_options' doesn't exist", more detailed diagnostics is provided below:

Script execution failed: executing '/var/www/cgi-bin/php5/php -d open_basedir= -q configure' for APS application instance with id 12345 returned value '1' with output 'Unable to execute SQL statement ( UPDATE `wp_options` SET `option_value`='http://customer.com/wordpress'WHERE `blog_id`=0 AND `option_name`='siteurl'): Table 'db20496_sa12345_main.wp_options' doesn't exist ' and errors 'PHP Deprecated: Function ereg() is deprecated in /var/www/vhosts/1/120288/webspace/siteapps/WordPress-12345/scripts/db-util.php on line 40

Cause

Most likely a customer changed table prefix in the WordPress database from the default wp_ to a custom one to make their WordPress installation more secure. Due to the problems in WordPress APS application versions before 3.5.1-4 POA configuration tasks fail in this case.

Resolution

Verify that the problem is caused by the non-default table prefix in the WordPress database:

  1. Log into POA Control Panel under the problem customer account.

  2. Find the database host and database name at Parallels Panel > More Services > Databases:

  3. If a customer has phpMyAdmin in the subscription then just click the provided link to connect to the MySQL database using web interface. Otherwise use the mysql utility to connect to the customer database using information provided in the Control Panel:

    • Database host: Internal hostname field
    • MySQL database: Database name field

    Note: you may connect to the database using the MySQL root user or using database user created for the customer subscription, its name may be found in Control Panel on the Users tab at the same path. If you do not know database user password consider to change it or create new temporary user if a customer has corresponding resource in their subscription.

  4. After you connected to database just browse the list of database tables in phpMyAdmin or display the list of tables in database using the show tables command in the mysql utility:

    mysql> show tables;
    +-----------------------------------+
    | Tables_in_db20496_sa14881_main |
    +-----------------------------------+
    | wpPrefix_commentmeta |
    | wpPrefix_comments |
    | wpPrefix_links |
    | wpPrefix_options |
    | wpPrefix_postmeta |
    | wpPrefix_posts |
    | wpPrefix_term_relationships |
    | wpPrefix_term_taxonomy |
    | wpPrefix_terms |
    | wpPrefix_usermeta |
    | wpPrefix_users |
    +-----------------------------------+
    11 rows in set (0.00 sec)
    

    As it may be seen above tables in the WordPress database use non-default prefix wpPrefix_, this may be the reason of problem in WordPress versions before 3.5.1-4.

    To resolve the problem, import WordPress 3.5.1-4 or later in POA and upgrade the instance installed in a customer subscription.

    If upgrade cannot be performed recommend that customer to change tables prefix in database to the default one, process failed POA task and then change tables prefix back to the custom one.

Internal content

Link on internal Article