白屏 - Ubuntu 16.04 上的 PHP 7 无法呈现脚本

白屏 - Ubuntu 16.04 上的 PHP 7 无法呈现脚本

我无法在本地主机上运行 PHP 脚本,浏览器会呈现白屏。如果我查看页面源代码,我可以清楚地看到 PHP 文件的内容。

使用:

$ sudo apt-get install libapache2-mod-php7.0 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libapache2-mod-php7.0 is already the newest version (7.0.6-6+donate.sury.org~xenial+1).
The following packages were automatically installed and are no longer required:
libgsoap8 libvncserver1
Use 'sudo apt autoremove' to remove them.
0 to upgrade, 0 to newly install, 0 to remove and 15 not to upgrade.

建议安装该模块。尝试启用它时:

$ sudo a2enmod php7.0
ERROR: Module php7.0 does not exist!

PHP 已安装:

$ php -v
PHP 7.0.6-6+donate.sury.org~xenial+1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

我尝试过这个教程https://ivan.reallusiondesign.com/install-php-7-on-ubuntu/

只有当我到达

$ sudo a2enmod php7.0
ERROR: Module php7.0 does not exist!

我没什么主意了。如果你能帮助我让 PHP7 在 Apache/2.4.18 (Ubuntu) 上运行,那就太好了,谢谢。

答案1

Ubuntu 16.04 官方软件包是libapache2-mod-php7.0 (7.0.4-7ubuntu2),但看起来您按照链接中的说明超出了受支持的软件(即 Ubuntu Main 存储库)sudo add-apt-repository ppa:ondrej/php。删除它,删除 ppa,然后使用 Ubuntu Main 存储库中官方支持的 php 7.0。

话虽如此,看起来你可能已经安装了,libapache2-mod-php但没有安装php。使用“官方”(支持)存储库,Ubuntu 16.04 服务器指南的 PHP Web 服务器部分建议正确的安装命令是:

sudo apt install php libapache2-mod-php

最后,看起来您使用的 ppa 是为 Ubuntu 14.04 准备的,而不是 Ubuntu 16.04。这些版本之间存在显著差异,其中最不重要的是systemd系统的使用init。您获得的“版本”在 Ubuntu 16.04 上可能存在重大问题,这是非常有可能的。

答案2

该“指南”是我编写的,针对的是 14.04,当时 php 7 尚未正式发布。目前它甚至可能无法在 14.04 上运行,因为软件包维护者可能已更改软件包名称。

带来不便敬请谅解。

答案3

  1. sudo apt purge libapache2-mod-php7.2 libapache2-mod-php7.2

  2. sudo apt install libapache2-mod-php7.2 libapache2-mod-php7.2

  3. sudo a2enmod php7.2

  4. systemctl restart apache2

这在 7.2 版本中有效,只需在 php -> 7.2 末尾添加

相关内容