【问题标题】:Clicking 'Refresh' crashes phpMyAdmin单击“刷新”会导致 phpMyAdmin 崩溃
【发布时间】:2018-02-07 21:28:01
【问题描述】:

我最近将我的 WAMP 安装从 PHP 5.5 更新到 5.6,并开始遇到 phpMyAdmin 的问题。假设它只是我过时的 phpMyAdmin 版本,我将其更新到版本 4.7.4,但问题仍然存在。

问题是,当我在 phpMyAdmin(不是在我的浏览器中)的工具栏中单击刷新时,它会导致 phpMyAdmin 完全冻结。当我使用大多数工具栏按钮或控制台时会发生这种情况。检查调试器后,似乎没有从服务器发送任何响应。我可以单击列标题以正常排序页面,并且可以进行内联编辑。

这不会影响在我的本地主机上运行的任何其他应用程序。我可以正常访问和使用它们,但在重新启动 WAMP 之前,我无法对 phpMyAdmin 执行任何操作。

我在php_error.log 或任何其他日志中都没有收到任何错误。有什么想法可能导致这种情况吗?

这基本上是我的mysql.log 一遍又一遍的内容:

2017-08-28 04:05:52 11128 [Note] Plugin 'FEDERATED' is disabled.
2017-08-28 04:05:52 11128 [Note] InnoDB: Using atomics to ref count buffer pool pages
2017-08-28 04:05:52 11128 [Note] InnoDB: The InnoDB memory heap is disabled
2017-08-28 04:05:52 11128 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2017-08-28 04:05:52 11128 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-08-28 04:05:52 11128 [Note] InnoDB: Not using CPU crc32 instructions
2017-08-28 04:05:52 11128 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2017-08-28 04:05:52 11128 [Note] InnoDB: Completed initialization of buffer pool
2017-08-28 04:05:52 11128 [Note] InnoDB: Highest supported file format is Barracuda.
2017-08-28 04:05:52 11128 [Note] InnoDB: 128 rollback segment(s) are active.
2017-08-28 04:05:52 11128 [Note] InnoDB: Waiting for purge to start
2017-08-28 04:05:52 11128 [Note] InnoDB: 5.6.17 started; log sequence number 7435516915
2017-08-28 04:05:53 11128 [Note] Server hostname (bind-address): '*'; port: 3306
2017-08-28 04:05:53 11128 [Note] IPv6 is available.
2017-08-28 04:05:53 11128 [Note]   - '::' resolves to '::';
2017-08-28 04:05:53 11128 [Note] Server socket created on IP: '::'.
2017-08-28 04:05:53 11128 [Note] Event Scheduler: Loaded 0 events
2017-08-28 04:05:53 11128 [Note] wampmysqld64: ready for connections.
Version: '5.6.17-log'  socket: ''  port: 3306  MySQL Community Server (GPL)
2017-08-28 04:08:03 11128 [Note] wampmysqld64: Arrêt normal du serveur

2017-08-28 04:08:03 11128 [Note] Giving 0 client threads a chance to die gracefully
2017-08-28 04:08:03 11128 [Note] Event Scheduler: Purging the queue. 0 events
2017-08-28 04:08:03 11128 [Note] Shutting down slave threads
2017-08-28 04:08:03 11128 [Note] Forcefully disconnecting 0 remaining clients
2017-08-28 04:08:03 11128 [Note] Binlog end
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'partition'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_METRICS'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_CMPMEM'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_CMP'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_LOCKS'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'INNODB_TRX'
2017-08-28 04:08:03 11128 [Note] Shutting down plugin 'InnoDB'
2017-08-28 04:08:03 11128 [Note] InnoDB: FTS optimize thread exiting.
2017-08-28 04:08:03 11128 [Note] InnoDB: Starting shutdown...
2017-08-28 04:08:04 11128 [Note] InnoDB: Shutdown completed; log sequence number 7435516941
2017-08-28 04:08:04 11128 [Note] Shutting down plugin 'BLACKHOLE'
2017-08-28 04:08:04 11128 [Note] Shutting down plugin 'ARCHIVE'
2017-08-28 04:08:04 11128 [Note] Shutting down plugin 'MRG_MYISAM'
2017-08-28 04:08:04 11128 [Note] Shutting down plugin 'MyISAM'
2017-08-28 04:08:04 11128 [Note] Shutting down plugin 'MEMORY'
2017-08-28 04:08:04 11128 [Note] Shutting down plugin 'CSV'
2017-08-28 04:08:04 11128 [Note] Shutting down plugin 'sha256_password'
2017-08-28 04:08:04 11128 [Note] Shutting down plugin 'mysql_old_password'
2017-08-28 04:08:04 11128 [Note] Shutting down plugin 'mysql_native_password'
2017-08-28 04:08:04 11128 [Note] Shutting down plugin 'binlog'
2017-08-28 04:08:04 11128 [Note] wampmysqld64: Arrêt du serveur terminé

在控制台中进行查询后,我检查了网络选项卡以查看请求。这就是他们的样子:

全部为空白,保存显示触发请求的 javascript 的堆栈跟踪。

【问题讨论】:

  • 任何 mysql 或服务器日志?
  • 04:08:03 发生了什么?这是您在 phpMyAdmin 中单击 Refresh 的时间吗?还是即使您不做任何事情也会发生错误?顺便说一句,看起来 phpMyAdmin 没有崩溃,它正在等待服务器。
  • 那是我重新启动服务器的时候。我检查了控制台,似乎没有从服务器发回数据,所以这可能是 Apache 问题?
  • 检查您的 PHP 配置是否包含超时。当脚本陷入循环或非常长的查询并且没有超时时,我已经看到这种事情发生。 (特别是在本地安装在 PC 上用于开发的 WAMP 堆栈上)。最好让它超时并抛出错误,而不是因为它无法超时而锁定服务器。
  • 如果一切都失败了,请考虑使用替代工具——我发现Adminer 与 phpMyAdmin 一样好。事实上,我倾向于使用它而不是 phpMyAdmin,因为它更容易在服务器级别安装和使用。

标签: php mysql apache phpmyadmin wamp


【解决方案1】:

发生这种情况的原因可能是您使用的是 XDebug 或其他调试器

PHPMyAdmin 是一个 PHP 应用程序,如果您将 XDebug 配置为接收每个 PHP 执行并在第一行停止 - 它也会为 PHPMyAdmin 触发。它会一直等到您按“继续”或重新启动服务器。

正如here 所讨论的,尝试禁用“remote_autostart”和“profiler_enable”模式:

xdebug.remote_autostart = 0
xdebug.profiler_enable = 0

如果上面没有帮助,甚至可以注释掉启用 XDebug 的行:

;zend_extension = "/absolute/path/to/your/xdebug-extension.so"

【讨论】:

  • 我已禁用 xdebug,但仍然遇到同样的问题。
【解决方案2】:

尝试在 config.inc.php 文件中将 $cfg['OBGzip'] 指令设置为 false,并在 php 配置文件中将 zlib.output_compression 指令设置为 Off。

来源:https://docs.phpmyadmin.net/en/latest/faq.html

如果没有,请尝试按照该页面中的故障排除步骤。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    • 2014-06-09
    • 2021-09-30
    相关资源
    最近更新 更多