【问题标题】:Drupal Installation PDOExceptionDrupal 安装 PDOException
【发布时间】:2011-11-27 07:43:54
【问题描述】:

http://localhost 有问题:

PDOException: SQLSTATE[42S02]: 未找到基表或视图:1146 表 'drupal_test.semaphore' 不存在:SELECT expire, value FROM {semaphore} WHERE name = :name; lock_may_be_available() 中的数组( [:name] => variable_init )(/var/www/drupal/includes/lock.inc 的第 165 行)。

这是我的数据库配置:

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

怎么办?

【问题讨论】:

    标签: php drupal drupal-6


    【解决方案1】:

    这只是发生在我身上。我手动将数据库信息添加到 settings.php 并尝试通过访问http://localhost/mysubdirectory 来运行安装脚本,而不是通过安装脚本添加数据库信息。 Drupal 看到了 db 信息,认为它已经安装,所以它寻找它的 Drupal 表,找不到它们,并抛出错误。

    我的解决方案是手动运行脚本(导航到http://localhost/mysubdirectory/install.php)。希望这可以帮助!

    【讨论】:

    • 当我运行 install.php 我得到“表变量已经存在。”
    • 您手动运行 install.php 的建议为我节省了一天的时间...非常感谢。
    【解决方案2】:

    很多时候只需卸载并重试即可修复此类错误。可能是安装有问题,也许你给了它一些不正确的信息。

    【讨论】:

      【解决方案3】:

      semaphore 是核心表,用于保存不能作为 Drupal 变量存储的信号量、锁、标志等,因为它们不能被缓存。在某些版本更新(6.xx-6.yy)中它丢失了,所以只需创建它:

      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;
      

      【讨论】:

        【解决方案4】:

        它尝试读取的表没有找到。

        如果您安装了新模块,请尝试重新安装此模块,或将其移除。但是如果你不安装任何东西,你需要重新安装所有的drupal :(

        【讨论】:

          【解决方案5】:

          这个问题与你的mysql数据库类型有关。如果您将站点移动到另一台服务器,则可能您的数据库类型不匹配并使用 InnoDB。因此,您必须使用此命令更改数据库表的类型。

          ALTER TABLE **table_name** ENGINE = MyISAM;
          

          【讨论】:

            猜你喜欢
            • 2019-04-24
            • 1970-01-01
            • 2023-04-08
            • 2011-08-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多