SQLSTATE[HY093]: Invalid parameter number: no parameters were bound

Created:

2016-11-16 12:55:26 UTC

Modified:

2017-06-05 06:13:24 UTC

0

Was this article helpful?


Have more questions?

Enviar una solicitud

SQLSTATE[HY093]: Invalid parameter number: no parameters were bound

Applicable to:

  • Plesk for Linux/Unix

Síntomas

En la página principal de Parallels Plesk Panel puede ver el siguiente mensaje de error:

Error: New files of configuration for Apache web server were not built due to errors in configuration templates. The detailed error message was e-mailed to you, so please check the e-mail, fix the errors, and click here to retry generating configuration.

Cuando comprueba esta información en la base de datos de Parallels Plesk Panel, puede ver lo siguiente:

# mysql -uadmin -p`cat /etc/psa/.psa.shadow ` psa -Nse"select * from Configurations where status='error' \G"

         id: <some id>
       name: domainVhost
       file:
    version: <some.version>
 objectType: domain
   objectId: <needed ID>
     status: error
description: Template processing failed: file = /usr/local/psa/admin/conf/templates/default/domainVhost.php, error = SQLSTATE[HY093]: Invalid parameter number: no parameters were bound

Resolución

  1. Obtenga el objectID del dominio emisor:

    mysql> select objectId from Configurations where status='error';
    
    
    +----------+
    | objectId |
    +----------+
    |      129 |
    +----------+
    
  2. Compruebe si se trata o no de un subdominio:

    mysql> select id,name,parentDomainId from domains where id=129;
    
    
    +-----+----------------+----------------+
    | id  | name           | parentDomainId |
    +-----+----------------+----------------+
    | 129 | blog.mr-int.ch |             59 |
    +-----+----------------+----------------+
    1 row in set (0.00 sec)
    

    Si no se trata de un subdominio, utilice domains.id como Subscriptions.object_id. Si lo es, use domains.parentDomainId (tal y como puede ver aquí):

  3. Obtenga el ID de la suscripción para el dominio especificado:

    mysql> select id, object_id from Subscriptions where object_id=59;
    
    
    +----+-----------+
    | id | object_id |
    +----+-----------+
    | 45 |        59 |
    +----+-----------+
    1 row in set (0.00 sec)
    
  4. Compruebe si esta suscripción presenta entradas en la tabla apsContext:

    mysql> SELECT `apsContexts`.* FROM `apsContexts` AS `apsContexts` WHERE (`pleskType` = 'hosting' AND `pleskId` = 129);
    
    
    +----+-----------+-----------+-------+----------------+
    | id | pleskType | pleskId   | ssl   | subscriptionId |
    +----+-----------+-----------+-------+----------------+
    | 11 | hosting   |129        | false |             0  | 
    +----+-----------+-----------+-------+----------------+
    
  5. Finalmente, añada el ID correcto de la suscripción a la tabla aspContexts:

    mysql> update apsContexts set subscriptionId=45 where pleskId=129;
    

A continuación deberá crear una nueva configuración de Apache usando el hipervínculo presente en el mensaje de error de Parallels Plesk Panel.

¿Tiene más preguntas? Enviar una solicitud
Inicie sesión para dejar un comentario.