Apache 与 php7 兼容,但与 php5 兼容时崩溃

Apache 与 php7 兼容,但与 php5 兼容时崩溃

我最近升级到了 Ubuntu 16.04,一切都运行正常,但我需要 php5,而它不在官方存储库中。所以我尝试使用 phpbrew:它不起作用(无法切换到任何 php 版本)。

然后我发现了这个问题:如何在 Ubuntu 16.04 上从 PHP 7 降级到 PHP 5.6?

接受的答案对我来说看起来很完美,所以我禁用了 phpbrew 并安装了所有软件包。一切似乎都正确,但 php7 仍然正常工作,而当我切换到 php5 时,apache 无法加载。

我看到的是/var/log/apache2/error.log这样的:

[Wed May 18 12:15:21.596482 2016] [mpm_prefork:notice] [pid 31446] AH00169: caught SIGTERM, shutting down

如果我这么做,service apache2 status我就会看到这个:

mag 18 12:20:01 portatilone systemd[1]: Starting LSB: Apache2 web server...
mag 18 12:20:01 portatilone apache2[32670]:  * Starting Apache httpd web server apache2
mag 18 12:20:01 portatilone apache2[32670]: AH00558: apache2: Could not reliably determine the server's fully qualified 
mag 18 12:20:01 portatilone apache2[32670]: Segmentation fault
mag 18 12:20:01 portatilone apache2[32670]: Action 'start' failed.
mag 18 12:20:01 portatilone apache2[32670]: The Apache error log may have more information.
mag 18 12:20:01 portatilone apache2[32687]:  * Stopping Apache httpd web server apache2
mag 18 12:20:01 portatilone apache2[32687]:  *

我怎样才能使 apache 与 php5 一起工作?

答案1

通过清除 apache 和 php 来修复。仅删除 php 是不够的。我不确定这是不是最好的方法,但它确实有效:

sudo service apache2 stop
sudo apt-get remove --purge apache2 apache2-utils apache2-bin php*
sudo apt-get autoremove

这是我用来重新安装所有内容的方法:https://askubuntu.com/a/762161/411578

相关内容