Unable to update hosting settings: Call to a member function updateUser() on a non-object

Created:

2016-11-16 13:05:39 UTC

Modified:

2017-04-24 11:22:27 UTC

1

Was this article helpful?


Have more questions?

Submit a request

Unable to update hosting settings: Call to a member function updateUser() on a non-object

Applicable to:

  • Plesk 12.5 for Linux
  • Plesk 11.5 for Linux
  • Plesk 12.0 for Linux

Symptoms

Unable to change hosting settings for domain due to error:

ERROR: Call to a member function updateUser() on a non-object (Abstract.php:930)

Cause

Absent subscription records in ServiceInstanceProperties table. Database inconsistency: the psa.ServiceInstanceProperties table does not have record related to the affected domain.

Resolution

  1. Create 'psa' database backup according to article KB881

  2. Find missing record for affected domain (eg example.com):

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql -u admin psa

    a.
    mysql> select id, name from domains where name = 'example.com';
    +-----+----------------+
    | id | name |
    +-----+----------------+
    | 652 | example.com |
    +-----+----------------+

    b.
    mysql> select id, object_id from Subscriptions where object_id = 652;
    +-----+-----------+
    | id | object_id |
    +-----+-----------+
    | 390 | 652 |
    +-----+-----------+

    c.
    mysql> select id from ServiceInstances where servicePackageId = '390' AND serviceInstallationId = (select id from ServiceInstallations where name = 'PleskFileSystem');
    +-----+
    | id |
    +-----+
    | 540 |
    +-----+


    d.
    mysql> select * from ServiceInstanceProperties where serviceInstanceId = 540;
    Empty set (0.00 sec)
  3. Insert corresponding record in psa.ServiceInstanceProperties table (replacing /var/www/vhosts/example.com with the correct www_root path):

    mysql> insert into ServiceInstanceProperties (`serviceInstanceId`, `name`, `value`) values (540 'root', '/var/www/vhosts/example.com');
  4. If the query 2.c. shows empty set, insert missing records in psa.ServiceInstances table:

    mysql> insert into ServiceInstances (serviceInstallationId,servicePackageId) values (1,390);
    mysql> insert into ServiceInstances (serviceInstallationId,servicePackageId) values (2,390);

    After that perform steps from 2.c. to 3.
Have more questions? Submit a request
Please sign in to leave a comment.