我将Drupal 7x站点部署到Digital Ocean Ubuntu 16.04服务器以进行测试和演示。我将服务器php版本从php7切换到PHP 5.6,但是使用默认版本的Mysql和Apache2。我没有安装网站和网站功能的问题;但是,我经常遇到与数据库相关的错误,特别是以下错误:
PDOException: SQLSTATE[HY000] [2002] Connection refused in lock_may_be_available() (line 167 of /var/www/html/phisigmarho.org/includes/lock.inc).
我通常会遇到这个错误,但我也得到了#34;网站出现了错误"错误或" mysql服务器已经消失了#34;当我做任何数据库或过程密集的任务(通过UI更新模块等)。我是一个相对较新的服务器管理员,所以我不确定可能出现什么问题,或者我应该查看哪些日志,以找出错误的线索。目前,从终端重启MySQL让我继续设置网站,但我不能让任何人以现在的方式使用网站。
那么,我该如何弄清楚为什么MySQL会一直消失?我很困惑,因为服务器配置非常类似于我的开发机器(ubunutu 16桌面运行php5.6),我没有任何远程相似的东西。我在哪里寻找有意义的日志,这将有助于我诊断解决这个问题。那么,想法?
答案 0 :(得分:0)
以下是我在这种情况下尝试的一些事情。
安装Drush(如果尚未安装)。 然后看看你得到的以下命令:
drush status
- 检查网站配置是否正确,包括数据库连接drush sqlc
- 这将使用settings.php中指定的连接详细信息登录MySQL命令行。值得确保此连接成功打开drush cc all
- 迁移到新环境时,清理网站的缓存始终是个好主意。如果仍然无法正常工作,我会截断Drupal数据库中的所有cache_ *表。我看到类似于上面的错误,并且正常的缓存清除不足以解决它。
确保已启用Drupal Watchdog。 drush en dblog
。然后,您可以使用Drush查看监视程序日志条目,例如drush ws
检查PHP日志。您可能需要联系Digital Ocean以获取位置和访问这些内容。