0

在我们的 Ubuntu 12.04 服务器上更新和升级 heartbleed 错误后,我遇到了仅在我们的 Magento 托管站点的登录页面上显示的 MySQL 错误:

SQLSTATE[HY000]: General error: 23 Out of resources when opening file '/tmp/#sql_360_0.MYD' (Errcode: 24)

在开始之前,我们备份了所有内容。然后我执行了以下命令:

sudo apt-get clean
sudo apt-get update
sudo apt-get install openssl libssl1.0.0
reboot

根据https://filippo.io/Heartbleed/,openssl 已成功修补。现在所有 Magento 1.8 站点都因相同的错误(上图)而损坏,但 Joomla 站点似乎不受影响。所有站点都使用 MySQL 5.5.35。

要查看是否是依赖版本问题,我还尝试了以下命令,但没有任何变化:

sudo apt-get upgrade
reboot

我还清除了 Magento 缓存和会话文件夹。

4

1 回答 1

2

根据一些有限的互联网研究,听起来像

一般错误:23 打开文件时资源不足

是MySQL的说法吗

我需要打开比操作系统允许的更多的文件。

因此,OpenSLL 更新或自上次重新启动服务器(或重新启动 MySQL?)以来发生的其他事情限制了允许应用程序打开的文件数量。

根据一些旧博客文章,听起来您需要编辑允许的文件数

/etc/security/limits.conf

寻找线条

and add:
mysql soft nofile ....
mysql hard nofile ....

....当前允许您打开的文件数量在哪里。听起来您可能还想FLUSH TABLES在 MySQL 服务器上清除 MySQL 为 MyISAM 的分区表打开的所有旧文件。

于 2014-04-14T21:13:12.480 回答