Symptoms
-
Unable to change PHP Settings (e.g. memory_limit ) in Domains > example.com > PHP Settings. The following error appears in Plesk UI:
PLESK_ERROR: Internal error.
ERROR: Call to a member function updateUser() on null (Abstract.php:1020) -
The following error appears when trying to restore a domain:
PLESK_ERROR: Warning: Restore domain “example.com”
Internal server error: <script></script><p>ERROR: Call to a member function updateUser() on null (Abstract.php:939)<br><br><a href=’http://kb.plesk.com/plesk-error/search?metaId=0b20aabbd825d0a69fd31706678e2963&messageId=8683930b08bc80638d3a40c07c086b46&file=Abstract.php&line=939&type=Error&version=17.5.3&message=Call+to+a+member+function+updateUser%28%29+on+null’ target=’_blank’>Search for related Knowledge Base articles</a></p>
Cause
Database inconsistency. There are no corresponding records in the table
for the separate domain
psa.ServiceInstances
or for all domains.
example.com
Resolution
Click on a section to expand
If the issue is present for only one domain
- Connect to the server via SSH
-
Create a backup of
database:
psa
# plesk db dump psa > /root/psa_dump.sql
-
Find records in the table
:
psa.ServiceInstallations
# plesk db -e “SELECT * FROM ServiceInstallations”
+—-+—————–+——–+—————+
| id | name           | status | serviceNodeId |
+—-+—————–+——–+—————+
|  1 | PleskDns       |    1   |        1      |
|  2 | PleskFileSystem |    1   |       1      |
+—-+—————–+——–+—————+ -
of the domain
FindÂ
id
.
example.com
# plesk db “SELECT s.id, d.name FROM Subscriptions AS s LEFT JOIN domains AS d ON s.object_id=d.id WHERE d.name=’example.com'”
+—-+—————–+
| id |       name      |
+—-+—————–+
| 14 |  example.com   |
+—-+—————–+Note: replace the domain
with an actual domain name from the previous step.
example.com
-
Make sure that there are no records related to the domain
(if corresponding records are contained, contact Plesk technical support)
example.com
# plesk db “SELECT * FROM ServiceInstances WHERE servicePackageId=’14’;”
Note: replace
of the domain
id
with
example.com
of the actual domain name from the step 2.
id
-
Сreate corresponding records in the table
manually for each record from the table
psa.ServiceInstances
:
psa.ServiceInstallations
# plesk db “INSERT INTO ServiceInstances (serviceInstallationId, servicePackageId, reference, status, enabled) values (1, 14, UUID(), 1, 1)”
# plesk db “INSERT INTO ServiceInstances (serviceInstallationId, servicePackageId, reference, status, enabled) values (2, 14, UUID(), 1, 1)”where:
is
serviceInstallationId
of the service from the table
id
from the step 1.
psa.ServiceInstallations
is
servicePackageId
of the domain
id
from the step 2.
example.com
is
reference
generated by execution…
uuid