LAMP:PHP 未执行,而是下载了

LAMP:PHP 未执行,而是下载了

我在线购买了一台服务器并安装了 LAMP(一键式,我没有配置任何东西)。

我现在需要使用 php 创建一个动态页面,但是如果创建一个test.php包含以下代码的文件:

<?php
echo "Hello!";
?>

当我连接到时,http://serverIP/test.php它并没有显示一个空白页,而是显示它一直在作为文件Hello!下载到我的电脑上!test.php

请注意:

  1. test.php位于/var/www/html旁边index.html,并且还有许多其他可以正常工作的 .html 文件。

  2. 如果我php -v在命令行中输入

    php 7.0.22-0ubuntu0.16.04.1已安装。

  3. 当我输入a2enmod php7.0它时

    模块 php7.0 已启用

  4. 使用 LAMP 我安装了Ubuntu 16.04 and Apache 2.4.18(Ubuntu)。

  5. 无法看到名为“modules”的文件夹/etc/apache2

  6. 当我修改任何文件时我也会重新启动 apache(service apache2 restart

这就是我的样子/etc/apache2/apache2.conf(没有所有的评论):

Mutex file:${APACHE_LOCK_DIR} default
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
Include ports.conf
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    <IfModule sapi_apache2.c>
        php_admin_flag engine on
    </IfModule>
    <IfModule mod_php5.c>
        php_admin_flag engine on
    </IfModule>
</Directory>
AccessFileName .htaccess
<FilesMatch "^\.ht">
    Require all denied
</FilesMatch>
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
IncludeOptional conf-enabled/*.conf
IncludeOptional sites-enabled/*.conf


#the following lines are what I added
LoadModule php7_module modules/libphp7.so ### in "etc/apache2" there isn't a folder named "modules" ###
AddType application/x-httpd-php .php
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

答案1

谢谢@豹原来我使用的是 nginx,而不是 apache...所以问题解决了。再次感谢@豹

你可能想要删除或禁用 nginx

sudo systemctl disable nginx

或者

sudo apt-get remove nginx

答案2

检查/etc/php/7.0/以确保已php7.0-cgi安装。您应该apache2在其中有一个文件夹,如果您看到的只是一个cli文件夹,则需要sudo apt-get install php7.0-cgi重新启动 Apache。

相关内容