PHP-скрипт, не выполняющийся на сервере Apache

43

Я только что переустановил Apache и PHP5, но когда я нахожусь в моем корне doc, он просто загружает «загружаемый» файл. И когда я пытаюсь documentroot /index.php, он просто загружает файл PHP.

У меня установлен PHP, но Apache, похоже, не хочет его выполнять.
Люди сказали добавить строку «Load Module» к моему httpd.conf , но у меня нет этого файла.

    
задан user2919631 21.04.2014 в 01:46
источник

4 ответа

76

Typing:

sudo apt-get install apache2 php5 libapache2-mod-php5

установит все, что вам нужно, и запустит сервер Apache с поддержкой PHP.

Чтобы проверить загрузку модуля php, введите:

a2query -m php5

, если не включен, затем загрузите с помощью:

sudo a2enmod php5

и перезапустите apache:

sudo service apache2 restart

Обновление для php7.0, протестированное на Ubuntu 16.04 и 16.10

Благодаря комментариям я обновляю ответ для php7.

Установка:

sudo apt-get install apache2 php7.0 libapache2-mod-php7.0 

Убедитесь, что:

a2query -m php7.0

Load:

sudo a2enmod php7.0

Перезапустить apache:

sudo service apache2 restart
    
ответ дан girardengo 21.04.2014 в 03:02
источник
17

Другой распространенной причиной является то, что короткие тэги php <? не включены по умолчанию для конфигурации php.ini, поэтому после обновления или переустановки этот параметр может быть отключен, и PHP-код может зависеть от него. Попробуйте заменить <? на <?php .

( Кредит )

    
ответ дан tufelkinder 15.04.2015 в 15:48
8

Ubuntu 16.04 переместился на PHP 7. Эта единственная команда выполнит эту работу для вас:

sudo apt-get install apache2 php libapache2-mod-php

Здесь libapache2-mod-php - это мета-пакет, который устанавливает libapache2-mod-php7.

    
ответ дан daltonfury42 16.10.2016 в 09:47
0

Открыть php.ini с nano в терминале:

sudo nano /etc/php/php5.6/apache2/php.ini

Затем измените:

short_open_tag = Off

к

short_open_tag = On

Затем сохраните, а затем перезапустите apache2:

sudo systemctl restart apache2
    
ответ дан Satrio Prasojo 29.09.2017 в 06:52