1

升级我的服务器版本(使用 debian 的 Plesk Onyx)后,我使用所有相同的数据库、用户和密码重新创建了域和数据库,但 mautic 显示如下:

由于遇到错误,该站点当前处于脱机状态。如果问题仍然存在,请联系系统管理员。系统管理员,检查服务器日志是否有错误。

所有必要的 php 模块都处于活动状态,并且适用于 pdo、pdo_mysql 等。

php设置截图

附加信息

Mautic 版本 | 最后一个
PHP 版本 | 7.2.19
浏览器 | 用所有浏览器
服务器测试 | Plesk Onyx 版本 17.8.11 - Debian 9.9

重现步骤

我已经换了服务器。我之前的服务器版本是在 CENTOS 中,现在是 DEBIAN 以及 Plesk Onyx 的最后一个版本。

我已经备份了 FTP 和 MySQL,并且我在根目录 sub.mysite.ext 上重新创建了 MAUTIC 所在的主域和子域。

我重用了相同的数据库名称、数据库用户和密码,并且数据库地址始终是端口 3306 上的 localhost。

我试图取消缓存,但没有。
我尝试通过控制台设置正确的权限:
cd /var/www/vhost/thisismywebsite.ext/mautic.thisismywebsite.ext/
find 。-type d -exec chmod 755 {} \;
寻找 。-type f -exec chmod 644 {} \;
chmod -R g+w app/cache/
chmod -R g+w app/logs/
chmod -R g+w app/config/
chmod -R g+w media/files/
chmod -R g+w media/images/
chmod -R g+w 翻译/

但再次不起作用

在我的新服务器上,我有一个新版本的 MySQL,10.1.38-MariaDB-0+deb9u1 Debian 9.8
在我以前的版本上,MySql 版本是 5.5.60-MariaDB

记录错误

[2019-06-21 11:02:29] mautic.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\TableNotFoundException: "An exception occurred while executing 'UPDATE users SET online_status = ? WHERE last_active <= ?' with params ["offline", "2019-06-21 08:47:29"]: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_mmautic.users' doesn't exist" at /var/www/vhosts/thisismysite.ext/mautic.thisismysite.ext/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 53 {"exception":"[object] (Doctrine\\DBAL\\Exception\\TableNotFoundException(code: 0): An exception occurred while executing 'UPDATE users SET online_status = ? WHERE last_active <= ?' with params [\"offline\", \"2019-06-21 08:47:29\"]:\n\nSQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_mmautic.users' doesn't exist at /var/www/vhosts/thisismysite.ext/mautic.thisismysite.ext/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:53, Doctrine\\DBAL\\Driver\\PDOException(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_mmautic.users' doesn't exist at /var/www/vhosts/thisismysite.ext/mautic.thisismysite.ext/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:107, PDOException(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_mmautic.users' doesn't exist at /var/www/vhosts/thisismysite.ext/mautic.thisismysite.ext/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:105)"} [] [2019-06-21 11:02:29] mautic.CRITICAL: Exception thrown when handling an exception (Doctrine\DBAL\Exception\TableNotFoundException: An exception occurred while executing 'UPDATE users SET online_status = ? WHERE last_active <= ?' with params ["offline", "2019-06-21 08:47:29"]: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_mmautic.users' doesn't exist at /var/www/vhosts/thisismysite.ext/mautic.thisismysite.ext/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 53) {"exception":"[object] (Doctrine\\DBAL\\Exception\\TableNotFoundException(code: 0): An exception occurred while executing 'UPDATE users SET online_status = ? WHERE last_active <= ?' with params [\"offline\", \"2019-06-21 08:47:29\"]:\n\nSQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_mmautic.users' doesn't exist at /var/www/vhosts/thisismysite.ext/mautic.thisismysite.ext/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:53, Doctrine\\DBAL\\Driver\\PDOException(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_mmautic.users' doesn't exist at /var/www/vhosts/thisismysite.ext/mautic.thisismysite.ext/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:107, PDOException(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_mmautic.users' doesn't exist at /var/www/vhosts/thisismysite.ext/mautic.thisismysite.ext/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:105)"} [] [2019-06-21 11:02:29] mautic.ERROR: Doctrine\DBAL\Exception\TableNotFoundException: An exception occurred while executing 'UPDATE users SET online_status = ? WHERE last_active [] []

高跟鞋

请我快疯了。有人可以帮助我吗?

4

2 回答 2

0

我会仔细检查您的新系统是否为您的数据库表使用相同的前缀,并且它们都已使用相同的数据库名称移动。

具体来说,查看您的 Mautic 配置 (app/config/local.php) 并检查数据库连接详细信息 (db_host、db_name、db_port、db_user、db_password) 前缀 (db_table_prefix) 等,并确保它们与您在数据库。

在上面的错误日志中,您似乎正在尝试查找该表:

admin_mmautic.users

错误告诉您该表不存在。

也许是一个错字(admin_mmautic 对我来说似乎是一个不寻常的前缀),或者在您的旧服务器上的前缀不同并且在开始时没有包含 admin 之前?

于 2019-10-11T10:50:28.417 回答
0

有时这是由于服务器权限问题,Mautic 需要实例服务器文件的写入权限,所以,

  • 授予写权限
  • 清除缓存php app/console cache:clear
  • 再次授予权限
  • 刷新仪表板页面

它会正常工作。

或者

如果上述过程无法解决问题,则必须更新 Mautic 版本才能解决此问题。

更新 Mautic实例,请按照以下步骤操作

  1. 首先获取代码(zip -r filename.zip project folder path)的备份。

  2. 获取数据库备份 ( mysqldump -h host -u username -p(password) database name > projectname.sql)

  3. 授予文件权限并清除缓存。通过使用 (php app/console cache:clearrm -rf app/cache)。

  4. 检查是否有可用的更新。通过使用 ( php app/console mautic:update:find)。

  5. 如果有任何可用更新,则更新实例。
    通过使用 ( php app/console mautic:update:apply)。

  6. 现在授予文件权限并再次删除缓存。

  7. 现在完成了实例的更新和测试。而已。

如果您的问题仍然没有解决,那么您可以更新mysql 数据库架构
为此,请点击链接https://www.mautic.org/docs/en/tips/troubleshooting.html

于 2019-10-11T06:38:17.557 回答