Php не работает в Ubuntu

Обновлено: 03.07.2024

PHP — один из наиболее часто используемых серверных языков программирования. Многие популярные CMS и фреймворки, такие как WordPress, Magento и Laravel, написаны на PHP.

В этом руководстве описаны шаги, необходимые для установки PHP в Ubuntu 20.04 и его интеграции с Nginx и Apache.

На момент написания статьи репозитории Ubuntu 20.04 по умолчанию включали версию PHP 7.4. Мы также покажем вам, как установить предыдущие версии PHP. Прежде чем выбрать версию PHP для установки, убедитесь, что ваши приложения поддерживают ее.

Если вы используете Apache в качестве веб-сервера, выполните следующие команды, чтобы установить PHP и модуль Apache PHP:

После установки пакетов перезапустите Apache, чтобы модуль PHP загрузился:

В отличие от Apache, Nginx не имеет встроенной поддержки обработки файлов PHP. Мы будем использовать PHP-FPM («менеджер процессов fastCGI») для обработки файлов PHP.

Выполните следующие команды, чтобы установить пакеты PHP и PHP FPM:

После завершения установки служба FPM запустится автоматически. Чтобы проверить статус службы, запустите

Теперь вы можете отредактировать блок сервера Nginx и добавить следующие строки, чтобы Nginx мог обрабатывать файлы PHP:

Не забудьте перезапустить службу Nginx, чтобы новая конфигурация вступила в силу:

Расширения PHP — это скомпилированные библиотеки, расширяющие основные функции PHP. Расширения доступны в виде пакетов и могут быть легко установлены с помощью apt :

Например, чтобы установить расширения MySQL и GD, выполните следующую команду:

После установки нового расширения PHP, в зависимости от ваших настроек, не забудьте перезапустить службу Apache или PHP FPM.

Чтобы проверить, правильно ли настроен веб-сервер для обработки PHP, создайте новый файл с именем info.php в каталоге /var/www/html со следующим кодом:

Вы увидите информацию о конфигурации PHP, как показано на изображении ниже:

Ондржей Сури, разработчик Debian, поддерживает репозиторий, включающий несколько версий PHP. Чтобы включить репозиторий, запустите:

Теперь вы можете установить любую нужную вам версию PHP, добавив номер версии к имени пакета:

Например, чтобы установить PHP 7.1 и несколько распространенных модулей PHP, выполните:

Установка PHP на сервере Ubuntu 20.04 — простая задача. Все, что вам нужно сделать, это установить пакет с помощью apt .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Этот пост является частью серии Как установить стек LAMP в Ubuntu 20-04.
Другие посты из этой серии:

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


7 ответов 7

установит все необходимое и запустит сервер apache с поддержкой PHP.

Чтобы убедиться, что модуль php загружен, введите:

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

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

Обновление для php7.x (проверено на Ubuntu 16.04, 16.10, 18.04, 18.10)

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


Было бы лучше использовать a2enmod, чем копировать файл вручную между доступными модами и модами включенными. a2enmod создает символическую ссылку, поэтому у вас будет только одна копия конфигурации.

для Ubuntu 16.04 с php7 я выполнил эти команды, чтобы apt-get install libapache2-mod-php , a2query -m php7.0 , служба apache2 перезапустить

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

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

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


Это отключено по умолчанию в php*.conf в моем каталоге с поддержкой модов. Мне пришлось изменить его, чтобы закомментировать:

Было трудно понять...

Ну, я сомневаюсь, что у кого-то была ЭТА конкретная проблема, но я решил добавить ее, потому что это сбивало меня с толку, и МОЖЕТ быть, кто-то делает то же самое. Думаю, никто больше не использует ~/user, кроме меня.

Конечно, после этого необходимо перезапустить apache.

Для людей, которые нашли этот пост в Google почти через 6 лет (и позже!), вы можете столкнуться с этой проблемой с Apache 2 и PHP 7 при использовании модуля UserDir.

Чтобы это исправить, откройте /etc/apache2/mods-enabled/php7.2.conf .Вы должны прокомментировать или удалить блок тегов внизу, который гласит:


Откройте php.ini с помощью nano в терминале:

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



Или исправьте скрипты PHP :-) Эта директива определяет, будет ли PHP распознавать код между тегами как исходный код PHP, который должен обрабатываться как таковой. Обычно рекомендуется использовать эту функцию и отключить ее [. ]

Мой случай был немного другим. Я обновился с Ubuntu 19.04 до 19.10. При обновлении установил php 7.3 (где уже был установлен php 7.2). С двумя установленными версиями a2query -m php7.3 возвращает Ни один модуль не соответствует php7.3.

Чтобы установить PHP 7.0 по умолчанию, запустите

Чтобы установить PHP 7.2 по умолчанию, запустите

Чтобы установить PHP 7.3 по умолчанию, запустите

Прежде чем мы сможем настроить Apache для использования PHP 7.3, нам нужно отключить старую версию PHP 7.0, введя

Теперь включите только что установленную версию PHP 7.3 с помощью следующей команды:

PHP – это язык сценариев общего назначения, подходящий для веб-разработки. PHP-скрипты могут быть встроены в HTML. В этом разделе объясняется, как установить и настроить PHP в системе Ubuntu с Apache2 и MySQL.

В этом разделе предполагается, что вы установили и настроили веб-сервер Apache2 и сервер базы данных MySQL. Вы можете обратиться к разделам Apache2 и MySQL в этом документе, чтобы установить и настроить Apache2 и MySQL соответственно.

Установка

PHP доступен в Ubuntu Linux. В отличие от Python, который установлен в базовой системе, необходимо добавить PHP.

Чтобы установить PHP и модуль Apache PHP, вы можете ввести следующую команду в командной строке терминала:

Вы можете запускать сценарии PHP в командной строке терминала. Для запуска PHP-скриптов в терминале вам необходимо установить пакет php-cli. Чтобы установить php-cli, вы можете ввести следующую команду:

Вы также можете выполнять PHP-скрипты без установки модуля Apache PHP. Для этого вам необходимо установить пакет php-cgi с помощью этой команды:

Чтобы использовать MySQL с PHP, вы должны установить пакет php-mysql следующим образом:

Аналогичным образом для использования PostgreSQL с PHP необходимо установить пакет php-pgsql:

Конфигурация

Если вы установили пакеты libapache2-mod-php или php-cgi, вы можете запускать сценарии PHP из веб-браузера. Если вы установили пакет php-cli, вы можете запускать PHP-скрипты в терминале.

По умолчанию при установке libapache2-mod-php веб-сервер Apache 2 настроен на запуск PHP-скриптов с использованием этого модуля. Пожалуйста, проверьте, существуют ли файлы /etc/apache2/mods-enabled/php8.*.conf и /etc/apache2/mods-enabled/php8.*.load. Если их нет, вы можете включить модуль с помощью команды a2enmod.

После того как вы установили пакеты, связанные с PHP, и включили модуль Apache PHP, вам следует перезапустить веб-сервер Apache2 для запуска скриптов PHP, выполнив следующую команду:

Тестирование

Чтобы проверить установку, вы можете запустить следующий PHP-скрипт phpinfo:

Ссылки

Существует множество книг по PHP 7 и 8. Хорошая книга от O’Reilly — Learning PHP, в которой рассматриваются усовершенствования языка PHP 7.

В этом руководстве мы установим PHP и настроим его для работы с веб-сервером Apache на Ubuntu Server 20.04.

Предпосылки

Вы должны использовать учетную запись пользователя без полномочий root, как описано в разделе Начальная настройка сервера Ubuntu 20.04.

У вас также должен быть уже установлен Apache, и у вас должен быть доступ к тестовой веб-странице в браузере, как описано в нашем руководстве Установка Apache на сервер Ubuntu 20.04 с виртуальными хостами.

1. Установить PHP

Давайте начнем с обновления списков пакетов и установки PHP в Ubuntu 20.04.

Ниже у нас есть две команды, разделенные && . Первая команда обновит списки пакетов, чтобы убедиться, что вы получаете последнюю версию и зависимости для PHP. Затем вторая команда загрузит и установит PHP и libapache2-mod-php , необходимые для работы PHP под Apache.

Нажмите y и ENTER, когда будет предложено установить пакет PHP.

Если вы хотите использовать PHP вместе с MySQL, вам следует установить php-mysql

2. Протестировать PHP

После завершения установки пакета мы можем протестировать PHP в командной строке.

Если PHP установлен правильно, вы должны увидеть что-то подобное ниже:

Отлично! Теперь давайте проверим PHP для Apache.

Создайте новый файл с именем info.php в корневом каталоге вашего документа.

После того, как вы подтвердите расположение корневого каталога вашего документа, создайте новый файл с именем info.php с помощью текстового редактора nano.

В этом примере мы создадим новый файл в /var/www/html/

После открытия редактора nano вставьте следующий код PHP. (При использовании PuTTY щелкните правой кнопкой мыши, чтобы вставить)

Сохранить и выйти (нажмите CTRL + X , нажмите Y и затем нажмите ENTER )

Совет. Если вы не знаете свой IP, вы можете узнать его с помощью:

PHP на Ubuntu 20.04

Ниже мы видим, что информационная страница PHP работает правильно.

Убедившись, что PHP работает правильно, важно удалить файл info.php, так как он содержит информацию, которая может быть полезна хакерам.

3. Настроить PHP (необязательно)

Если вы планируете загружать файлы размером более 2 МБ через WordPress или аналогичную систему, вам потребуется изменить файл конфигурации PHP и установить максимальный размер загрузки.

Что дальше?

Теперь, когда у вас установлен и работает PHP, вы можете приступить к настройке сервера базы данных MySQL и phpMyAdmin.

Сообщите мне, помогло ли это. Подпишитесь на меня в Twitter, Facebook и YouTube или 🍊 купите мне смузи.

Читайте также: