Não é possível alterar o tipo de hospedagem para um domínio Plesk: Não é possível carregar o objeto do tipo SysUser com id
imprimir- 0
Sintomas
-
Não é possível criar um domínio, altere o tipo de hospedagem de um domínio em Domínios > exemplo.com > Configurações de hospedagem > Tipo de hospedagem ou para restaurar um domínio do backup:
Error: Unable to load object of type SysUser with id=1: SysUser: unable to select: no such row in the table.
-
O usuário do sistema deste domínio não existe. O comando a seguir não mostra nenhuma saída:
# grep 'example.com' /etc/passwd
-
A raiz do documento do domínio também não existe:
# ls -al /var/www/vhosts/example.com/
ls: cannot access /var/www/vhosts/example.com/: No such file or directory -
O seguinte erro pode ser mostrado no Plesk:
New configuration files for the Apache web server were not created due to the errors in configuration templates: Template processing failed: file = /usr/local/psa/admin/conf/templates/default/domainForwarding.php, error = Template_Exception: No data. file: /usr/local/psa/admin/plib/Template/Processor.php line: 27 code: 0 Previous error: Template_Variable_Exception: No data. file: /usr/local/psa/admin/plib/Template/Variable/AbstractCachedData.php line: 65 code: 0.
Causa
Inconsistência do banco de dados: a psa.hosting
tabela contém um registro órfão do dom_id
.
Resolução
-
Execute o utilitário de reparo Plesk (para Windows, execute o prompt de comando primeiro):
# plesk repair db Confirme a correção de todos os erros que começam com:
Inconsistency in the table 'web_users'
Inconsistency in the table 'smb_users' -
Crie o domínio ou defina o tipo de hospedagem necessário para o domínio na interface do Plesk.
-
Entre no banco de dados Plesk (para Windows, execute o prompt de comando primeiro):
# plesk db -
Certifique-se de que não haja nenhum usuário do sistema com ID da mensagem de erro no banco de dados Plesk:
mysql> select * from sys_users where id=1;
Empty set (0.00 sec) -
Encontre o ID do domínio e certifique-se de que o tipo de hospedagem do domínio esteja definido como
none
:mysql> select id, name, htype from domains where name like '%example.com%';
+----+-------------+-------+
| id | name | htype |
+----+-------------+-------+
| 76 | example.com | none |
+----+-------------+-------+
1 row in set (0.00 sec) -
Encontre o registro inconsistente na
hosting
tabela:mysql> select dom_id, sys_user_id, www_root from hosting where sys_user_id=1;
+--------+-------------+--------------------------------------+
| dom_id | sys_user_id | www_root |
+--------+-------------+--------------------------------------+
| 2 | 1 | /var/www/vhosts/example.com/httpdocs |
+--------+-------------+--------------------------------------+
1 row in set (0.00 sec) -
Remova o registro inconsistente usando dom_id da etapa anterior:
mysql> delete from hosting where dom_id=2; -
Crie o domínio ou defina o tipo de hospedagem necessário para o domínio na interface do Plesk.