Apache2 和 php7.0 获得空白页

Apache2 和 php7.0 获得空白页

我已经在网站上搜索答案,但没有找到解决我的问题的方法。

情况如下:

我全新安装了最新的 ubuntu:

Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:        16.04
Codename:       xenial

安装并运行 apache2 和 php7。我已启用 php7.0 模块:

dpkg --get-selections | grep apache
apache2                                         install
apache2-bin                                     install
apache2-data                                    install
apache2-utils                                   install
libapache2-mod-php                              install
libapache2-mod-php7.0                           install

我的 apache2 站点可用配置:

DocumentRoot /opt/Test/Sources

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /opt/Test/Sources>
  DirectoryIndex index.php
  Options FollowSymLinks
  AllowOverride None
  Require all granted
</Directory>

我的目录:

ll
total 12
drwxrwxrwx  3 root     root     4096 Nov 14 16:41 ./
drwxr-xr-x 23 root     root     4096 Nov 16 16:35 ../
drwxr-xr-x  4 www-data www-data 4096 Nov 14 16:42 Test/

cd Test/
ll
total 16
drwxr-xr-x 4 www-data www-data 4096 Nov 14 16:42 ./
drwxrwxrwx 3 root     root     4096 Nov 14 16:41 ../
drwxr-xr-x 2 www-data www-data 4096 Nov 14 16:42 Images/
drwxr-xr-x 2 www-data www-data 4096 Nov 16 18:13 Sources/

cd Sources/
ll
total 12
drwxr-xr-x 2 www-data www-data 4096 Nov 27 18:22 ./
drwxr-xr-x 4 www-data www-data 4096 Nov 14 16:42 ../
-rwxr-xr-x 1 www-data www-data   19 Nov 16 18:07 index.php*

我在 index.php 中创建了一个简单的测试文件:

<?

phpinfo();

?>

但是当我浏览时,我得到的是空白页。当我在浏览器中检查源代码时,我得到了我的 index.php 的内容:

<?

phpinfo();

?>

看起来 apache 无法解释该文件。error.log 没有错误,access.log 看起来正常:

192.168.70.88 - - [27/Nov/2016:18:27:43 +0100] "GET / HTTP/1.1" 200 223 "-"         "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)     Chrome/54.0.2840.99 Safari/537.36"
192.168.70.88 - - [27/Nov/2016:18:27:43 +0100] "GET /favicon.ico HTTP/1.1" 404 504 "http://192.168.70.30/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"

有人有想法吗?我已经很久没有使用过 apache 和 php 了,我可能忘记了一些东西。

非常感谢你的帮助

答案1

我发现了问题所在。

在此版本的 php 中,/etc/php/7.0/apache2/php.ini 中默认 short_open_tag = Off。这意味着以下行

<?

?>

无法识别为 php 代码,因此无法处理。您可以启用短标签或在第一行末尾添加“php”

并且它有效。

相关内容