ЛАМПА: 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. С лампой я получил 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>

2 ответа

Решение

Благодаря Panther оказалось, что я использую nginx, а не apache... так что проблема решена. Panther раз спасибо Panther!

Вы, вероятно, хотите удалить или отключить nginx

sudo systemctl disable nginx

или же

sudo apt-get remove nginx

Проверьте /etc/php/7.0/ чтобы убедиться, что у вас есть php7.0-cgi установлены. Вы должны иметь apache2 папка там, если все, что вы видите, это cli папка вам понадобится sudo apt-get install php7.0-cgi, затем перезапустите Apache.

Другие вопросы по тегам