如何修复'(38)函数未实现:AH00141:在将Apache2.4.18升级到2.4.46后,无法初始化随机数生成器? [英] How to fix '(38)Function not implemented: AH00141: Could not initialize random number generator' after upgrading Apache from 2.4.18 to 2.4.46?

查看:18
本文介绍了如何修复'(38)函数未实现:AH00141:在将Apache2.4.18升级到2.4.46后,无法初始化随机数生成器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个运行Ubuntu 16.04、Apache2.4.18、PHP 7.3和7.4、PHP-fpm、PHP FastCGI、MPM Event的系统。

我想升级到最新的APACHE版本(2.4.46-2+ubuntu16.04.1+deb.sury.org+3 AMD64[可升级自:2.4.18-2ubuntu3.17])如下:

添加-apt-store-y ppa:ondrej/apache2

APT更新

apt-get--only-升级安装apache2

服务缓存2重新启动

apache2.service的作业失败,因为控制进程退出,返回错误代码。有关详细信息,请参阅";systemctl Status apache2.service";和";Jouralctl-xe";。

Jouralctl-Xe

apachectl[9010]:[:Crit][Pid 9013](38)函数未实现:AH00141:无法初始化随机数生成器

我进行了检查,并安装了/dev/Random和/dev/urandom。 内核:4.4.0-042sta141.2和libc6:2.23-0ubuntu11.2

推荐答案

我也是在Ubuntu上升级到2.4.46版本后发生的。我发现它是内核版本。

我知道我做了apt-get upgrade,内核应该是最新版本,也在运行 sudo update-grub 显示了较新的版本,但运行uname -r显示了非常旧的内核。

经过长时间的调查,几乎花了一整天的时间,并尝试了我在网上找到的所有关于升级Ubuntu内核的东西--我发现是DigitalOcean,而不是我。旧的Drops使用外部托管内核-因此,无论您在环境中执行什么操作,它都将始终使用外部内核。解决方案就在这里: https://www.digitalocean.com/docs/droplets/how-to/kernel/grubloader/#switch

如果您确实在数字海洋控制面板的水滴设置中看到了下拉和更改按钮,则您的内核是外部管理的。在下拉菜单中键入"GRUB"并选择GRubLoader v0.2,按下"Change"按钮即可! 现在,您需要关闭&;并重新打开服务器,但在执行此操作之前,我建议您运行以下命令: sudo apt-get update sudo apt-get upgrade

上述升级将更新整个系统。要只更新内核,请运行上面的更新命令,后跟: sudo apt-get upgrade linux-image-generic

现在关闭(sudo poweroff或从DigitalOcean界面关闭,但最好从CLI执行)。请注意,在这种情况下,重新启动是不够的,需要完全关闭(感谢@gauss256的评论)。然后从数字海洋接口重新启动它,启动后您应该会看到新的内核版本。

提示-您可能想要在重新启动后删除旧的内核文件,这可以通过以下方法实现: sudo apt-get purge $( dpkg --list | grep -P -o "linux-image-dS+" | grep -v $(uname -r | grep -P -o ".+d") )

这篇关于如何修复'(38)函数未实现:AH00141:在将Apache2.4.18升级到2.4.46后,无法初始化随机数生成器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆