Не работает php debian 10

Обновлено: 30.06.2024

PHP (рекурсивный акроним словосочетания PHP: Hypertext Preprocessor) - это распространенный язык программирования общего назначения с открытым исходным кодом. PHP специально сконструирован для веб-разработок и его код может внедряться непосредственно в HTML.

Начиная с этого момента мы будем описывать установку NGINX и PHP-FPM на Debian GNU/Linux.

Этап 1 - Анализ и подготовка окружения

Для начала нам нужно подключиться к серверу по SSH, узнать количество процессоров, обновить список пакетов и произвести установку утилит.

Этап 2 - Установка веб-сервера Nginx и PHP

APT автоматически установит модуль PHP-FPM для NGINX и все их зависимости и, затем, активирует их. NGINX должен быть перезапущен для того, чтобы изменения вступили в силу. Например:

APT автоматически добавит необходимые строки в соответствующие php.ini и т.д. В зависимости от расширения, будет внесены записи типа extension=foo.so. В любом случае, чтобы эти изменения вступили в силу, будет необходимо перезапустить сервер веб-сервер.

Все конфигурационные файлы находятся в папке /etc/php, например для PHP-FPM конфигурационный файл находится по адресу /etc/php/7.3/fpm:

Конфигурационный файл php.ini является основным инструментом настройки ядра PHP. Он считается каждый раз при инициализации PHP.

Далее мы рассмотрим и изменим важные настройки в файле php.ini. Чтобы избежать ошибок не добавляйте новые строки, а ищите уже существующие и изменяйте значения на нужные.

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

Параметр cgi.fix_pathinfo позволит пользователям сформировать PHP запросы таким образом, чтобы запускать скрипты, к которым у них не должно быть доступа. Мы можем предотвратить такое поведение раскомментировав эту строку и изменив её значение на “0”:
Наберите ваш адрес или домен в вашем веб-браузере. Вы должны увидеть страницу Nginx по умолчанию. Для отображения *.php-страниц вашего сайта вам необходимо настроить конфигурацию Nginx. Отредактируйте файл конфигурации веб-сервера Nginx: Для строки worker_processes auto; установите значение равное числу процессоров, например 4.
Создайте директорию которая у вас указана в конфигурации (/var/web/www): После создания директории вы должны установить права: Далее требуется перезапустить Nginx и PHP службы. Вам нужно использовать инструмент командной строки systemctl. Отредактируйте файл в директории которую использует Nginx.

Наберите IP-адрес вашего хоста в веб-браузере. Вы должны увидеть страницу c информацией о сервере. После вы можете поместить файлы вашего в сайта в директорию.

Этап 3 - Установка базы данных MySQL Community Edition

Установим систему управления базами данных MySQL Community Edition, через официальные репозитории. Прежде чем мы это сделаем, нам нужно установить необходимый пакет GnuPG, реализацию стандарта OpenPGP с открытым исходным кодом.

Загрузите файл с помощью утилиты wget, не забудьте вставить только что скопированный адрес вместо выделенной части ниже:

Внимание! Ссылка меняется с появлением новых версий пакета.

Теперь вы можете приступить к установке:

Обновите кэш пакетов apt, чтобы сделать новые пакеты программного обеспечения доступными: После обновления вы можете использовать apt для установки последнего пакета сервера MySQL.
По умолчанию вам будет доступна установка 8.0 версии MySQL: MySQL с помощью команды позволяет запустить сценарий для выполнения изменений, связанных с безопасностью. Для этого вам потребуется ввести следующую команду:

После запуска сценария введите пароль пользователя root для MySQL, который вы задали во время установки и нажмите клавишу ВВОД (Enter). Далее вам потребуется ответить на ряд запросов. Давайте пройдемся по ним:

Во-первых, вам потребуется задать определенные правила надежности пароля для пользователей MySQL. Введите Y и ENTER, чтобы включить его, или просто нажмите ENTER, чтобы пропустить его. Если этот параметр включен, вам также будет предложено выбрать уровень 0–2 для строгой проверки пароля. Выберите номер и нажмите ENTER, чтобы продолжить. Рекомендуется выбрать 1.

Затем вас спросят, хотите ли вы изменить пароль root. Поскольку мы только что создали пароль при установке MySQL, мы можем смело пропустить это. Нажмите клавишу ВВОД, чтобы продолжить без обновления пароля.

На остальные запросы можно ответить да. Вам будет предложено удалить анонимного пользователя MySQL, запретить удаленный вход в систему root, удаление тестовой базы данных и перезагрузку таблиц привилегий, чтобы гарантировать, что предыдущие изменения вступили в силу должным образом. Введите Y и нажмите клавишу ВВОД для каждого запроса. Сценарий завершится после того, как будут получены ответы на все запросы. Теперь MySQL достаточно защищена.

PHP является одним из наиболее используемых серверных языков программирования.

В этом руководстве мы обсудим, как установить PHP на Debian 10, Buster. Мы также покажем вам, как интегрировать PHP с Nginx и Apache.

Debian 10 поставляется с PHP версии 7.3, которая поддерживается наиболее популярными CMS и фреймворками, такими как WordPress, Magento и Laravel.

Требования

Чтобы иметь возможность устанавливать пакеты, вы должны войти в систему под правами root или пользователя с правами sudo .

Установка PHP с Apache

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

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

Установка PHP с Nginx

В отличие от Apache, Nginx не имеет встроенной поддержки обработки PHP-файлов. Для работы с файлами PHP вам понадобится служба PHP FPM ("fastCGI process manager"). Установите пакеты PHP и PHP FPM, выполнив следующую команду:

Как только пакеты будут установлены, служба PHP FPM запустится автоматически.

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

Сохраните конфигурационный файл и перезапустите службу nginx, чтобы новая конфигурация вступила в силу:

Установка PHP расширений

Вы можете расширить функциональные возможности ядра PHP, установив дополнительные расширения. Расширения PHP доступны в виде пакетов и могут быть легко установлены путем набора команды:

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

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

Резюме

Мы показали вам, как устанавливать PHP на Debian 10 и настраивать ваш веб-сервер для обработки файлов PHP. Если у вас есть вопросы или отзывы, не стесняйтесь оставить свой комментарий.

В этом руководстве мы обсудим, как установить PHP в Debian 10, Buster. Мы также покажем вам, как интегрировать PHP с Nginx и Apache.

Debian 10 поставляется с PHP версии 7.3, которая поддерживается наиболее популярными CMS и фреймворками, такими как WordPress, Magento и Laravel.

Подготовка

Чтобы иметь возможность устанавливать пакеты, вам необходимо войти в систему как пользователь root или пользователь с привилегиями sudo .

Установка PHP с Apache

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

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

Установка PHP с Nginx

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

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

После установки пакетов служба PHP FPM запустится автоматически.

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

Сохраните файл конфигурации и перезапустите службу nginx, чтобы новая конфигурация вступила в силу:

Установка расширений PHP

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

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

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

Тестирование обработки PHP

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

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

Выводы

Мы показали вам, как установить PHP в Debian 10 и настроить ваш веб-сервер для обработки файлов PHP.

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


27 мая 2021 00:05:25 | 0 comments

Установка и настройка PHP 7.4 на Debian 10 в связке с Nginx

Как известно в Debian 10 по умолчанию идет лишь PHP версии 7.3, а что делать если нам нужен более новый, скажем PHP версии 7.4 или 8.0 ?

Ниже мы рассмотрим как быстро установить и настроить связку Nginx + PHP-FPM 7.4

Предполагается, то Nginx у Вас уже установлен и настроен в базовом варианте. Если это не так, то можете воспользоваться моей статьей.

1. Установим сторонний репозитарий, где есть все нужные и свежие версии PHP:

2. Проверим какие пакеты PHP 7.4 нам доступны:

Список будет достаточно внушительным, мы выберем базовый необходимый набор и установим.

3. Установка PHP:

Найдем где располагается файл конфигурации по умолчанию, стоит заметить, что это файл относиться к cli (консольной) версии PHP, для PHP-FPM файл будет другой.

То есть для cli (консольной) версии PHP файл конфигурации /etc/php/7.4/cli/php.ini

Забегая вперед скажу, что для FPM файл конфигурации PHP будет /etc/php/7.4/fpm/php.ini
Основной файл конфигурации PHP-FPM будет /etc/php/7.4/fpm/php-fpm.conf
Основной каталог в котором будут храниться конфигурация пулов PHP-FPM будет /etc/php/7.4/fpm/pool.d, файлы конфигурации пулов должны иметь расширение *.conf

Проверим статут PHP-FPM:

Настроим автоматический запуск PHP-FPM при старте сервера:

4. Настройка Nginx и PHP-FPM:

Чтобы посмотреть список запущенных пулов можно воспользоваться командой

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

Далее создадим симлинк на файл /etc/nginx/sites-available/mysite.conf в директории /etc/nginx/sites-enabled

В соответствии с ней Nginx будет считывать любые конфигурационные файлы в каталоге /etc/nginx/sites-enabled, а там у нас просто симлинки на нужные файлы из /etc/nginx/sites-available

Теперь создадим директорию для нашего сайта, то что мы указали в директиве root в файле /etc/nginx/sites-available/mysite.conf:

Создадим простой php-файл:

Задаем права и владельца:

После этого проверяем конфигурацию Nginx:

Если ошибок нет, то перезагружаем конфигурацию Nginx:

Предполагается, что на нашем сервере межсетевой экран отключен или нет никаких ограничений на подключение извне. Не забудьте в этом убедиться, т.к. в противном случае подключения на 80-й порт могут блокироваться им и мы не сможем открыть наш сайт.

Проверим межсетевой экран (iptables):

Во всех цепочках стоит ACCEPT, запретов нет.

Если у Вас эта страница не появилась, то в зависимости от кода ошибки нужно либо проверять настройки сервера, либо смотреть лог ошибок Nginx.

Если Вы использовали мой файл конфигурации nginx.conf, то лог ошибок Nginx находится в файле /var/log/nginx/error.log
Если у Вас свой файл nginx.conf, то проверьте путь к логу командой:

Если директива error_log не указана в nginx.conf, то ее можно указать непосредственно в файле виртуального сервера для нашего сайта, в файле /etc/nginx/sites-available/mysite.conf, например так:

После этого не забудьте проверить и перезагрузить конфигурацию Nginx:

На этом базовая настройка Nginx + PHP-FPM завершена, до скорых встреч.

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

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