我有一个当地的Drupal 6实例,昨天工作得很好。 但是,今天,我尝试访问我的网站,我们称之为http://testsite.local 。 在每个页面上,包括http://testsite.local/user ,我得到这个错误:
离线网站由于技术问题,网站目前无法使用。 请稍后再试。 谢谢你的理解。
如果你是这个站点的维护者,请检查settings.php文件中的数据库设置,并确保你的托pipe服务提供者的数据库服务器正在运行。 如需更多帮助,请参阅手册,或联系您的托pipe服务提供商。
请注意,这里没有MySQL错误。 只有一个页面,我可以find没有这个错误: http://testsite.local/install.php 。 该页面上包含错误消息:
无法连接到您的MySQL数据库服务器。 MySQL报告以下消息: 连接被拒绝 。
- 你确定你有正确的用户名和密码吗?
- 你确定你input了正确的数据库主机名吗?
- 你确定数据库服务器正在运行吗?
有关更多帮助,请参阅安装和升级手册。 如果您不确定这些术语的含义,您应该联系您的托pipe服务提供商。
但是,我的其他本地站点运行在同一个数据库上,我可以使用命令行连接到数据库。 我很确定我有正确的权限,因为事情在过去有效:
$ mysql --host=localhost --user=testuser --password=testpassword testdb Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 19 Server version: 5.5.11-log Source distribution Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> SHOW GRANTS FOR CURRENT_USER(); +-------------------------------------------------------------------------------------------------------------------------------------+ | Grants for testuser@localhost | +-------------------------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'testuser'@'localhost' IDENTIFIED BY PASSWORD 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' | | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES ON `testdb`.* TO 'testuser'@'localhost' | +-------------------------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.03 sec)
我的settings.php使用相同的凭据:
$db_url = 'mysqli://testuser:testpassword@localhost/testdb';
我无法弄清楚什么是错的。 请帮忙!
你需要仔细检查你的服务器是否真的使用这个settings.php文件。
如果您在Linux环境中工作,可以使用find或locate 。
您还可以尝试重命名/将configuration文件移动到另一个位置,并查看错误消息是否更改。
这种types的错误很可能是configuration错误。
检查sites目录下。 这个的一个常见原因可能是应该看起来像这样的目录结构:
sites/ default/ settings.php somedomain.com -> default
但是这被签入了一个braindead SCCS(通过braindead客户端返回并返回),这样它将符号链接视为另一个目录,所以现在你有:
sites/ default/ settings.php somedomain.com/ settings.php
当然,你可能只是改变default/settings.php ,因为这是唯一合理的改变,当你不运行多站点。 也就是说, 真正的解决scheme不是修复其他settings.php或修复符号链接,而是简单地删除“somedomain.com”。 它不会为您的configuration添加任何内容。
另一种方式是我看到了这种情况:非常非常大(500行左右)的settings.php实际上有两个 $db_url 。 第二个,当然是“赢”了。 谈论你不认为寻找的东西!
试试:'mysqladmin flush-hosts'。 另外检查你的mysql用户权限。 也许你不允许访问该数据库? 同时检查这些服务器之间的防火墙。