3 votes

Installation de Drupal - PDOException

http://localhost J'ai un problème :

PDOException : SQLSTATE [42S02] : Base table or view not found : 1146 Table 'drupal_test.semaphore' doesn't exist : SELECT expire, valeur FROM {semaphore} WHERE name = :name ; Array ( [:name] => variable_init ) in lock_may_be_available() (line 165 of /var/www/drupal/includes/lock.inc).

Voici la configuration de ma base de données :

$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'drupal_test',
      'username' => 'root',
      'password' => 'XXX',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);

Que faire ?

9voto

alexvance Points 567

Ça vient de m'arriver. J'ai ajouté manuellement les informations relatives à la base de données dans settings.php et j'ai essayé d'exécuter le script d'installation script en accédant à http://localhost/mysubdirectory au lieu d'ajouter des informations sur la base de données par le biais de l'installation du script. Drupal a vu l'information db et a pensé qu'il était installé, il a donc cherché ses tables Drupal, ne les a pas trouvées et a lancé l'erreur.

La solution pour moi a été simplement d'exécuter le script manuellement (en naviguant sur http://localhost/mysubdirectory/install.php ). J'espère que cela vous aidera !

3voto

srchulo Points 1668

Souvent, il suffit de désinstaller et de réessayer pour résoudre ce genre de problème. Il est possible qu'il y ait eu un problème lors de l'installation ou que vous ayez fourni des informations incorrectes.

1voto

Nikit Points 4869

semaphore est une table de base pour contenir les sémaphores, les verrous, les drapeaux, etc. qui ne peuvent pas être stockés comme variables Drupal puisqu'ils ne doivent pas être mis en cache. Dans certaines mises à jour de versions (6.xx-6.yy), elle a été perdue, il suffit donc de la créer :

CREATE TABLE IF NOT EXISTS `semaphore` (
  `name` varchar(255) NOT NULL DEFAULT '',
  `value` varchar(255) NOT NULL DEFAULT '',
  `expire` double NOT NULL,
  PRIMARY KEY (`name`),
  KEY `expire` (`expire`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

0voto

Pablo Morales Points 328

La tentative de lecture d'une table n'a pas été trouvée.

Si vous installez un nouveau module, essayez de réinstaller ce module, ou de le retirer . Mais si vous n'installez rien, vous devez réinstaller tout Drupal :(

0voto

Guray Celik Points 153

Ce problème est lié à votre type de base de données mysql. Si vous déplacez votre site sur un autre serveur, il est probable que le type de votre base de données ne corresponde pas et utilise InnoDB. Pour cette raison, vous devez changer le type de votre table de base de données avec cette commande.

ALTER TABLE **table_name** ENGINE = MyISAM;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X