Как настроить php ubuntu

Как установить и настроить PHP 8.0 на Ubuntu 20.04

PHP — это очень популярный серверный язык программирования, используется для создания динамических веб-сайтов и приложений. PHP8.0 бесплатен и поставляется с открытым исходным кодом. PHP 8 привносит в язык множество оптимизаций и мощных функций, включая компилятор Just-in-time (JIT), атрибуты, именованные аргументы и многое другое .

Из этой статьи вы узнаете, как установить PHP 8.0 на Ubuntu 20.04 и настроить его для работы с веб-серверами Apache и NGINX.

Требования

  • Веб-сервер NGINXили Apache, работающий на Ubuntu 20.04
  • Пользователь с привилегиями sudo

Добавьте репозиторий ondre/php

На момент написания этой статьи PHP 7.4 является последней версией, доступной в репозитории пакетов Ubuntu по умолчанию.

Чтобы установить PHP 8, вам нужно добавить репозиторий ondre/php. В этом частном архиве пакетов доступно несколько версий PHP и расширений.

Выполните следующую команду, чтобы добавить репозиторий ondre/php в Ubuntu 20.04.

Затем выполните приведенную ниже команду, чтобы проверить наличие обновлений пакета.

Установка PHP 8 для Apache

После добавления репозитория ondre/php и проверки наличия обновлений пакетов, вы можете запустить следующую команду для установки PHP 8 на Ubuntu 20.04.

При появлении запроса введите y, чтобы продолжить.

Читайте также:  Съемная квартира сломалась техника

Установка PHP 8.0 для Apache

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

Тест PHP 8 на Apache в Ubuntu

Чтобы убедиться, что PHP правильно работает с Apache, создайте index.php файл в корне документа по умолчанию следующим образом.

Скопируйте и вставьте приведенный ниже пример PHP — кода в текстовый редактор.

Теперь откройте веб-браузер и перейдите на страницу serverIP/index.php… Замените serverIP на ваш фактическим IP-адресом сервера. Если вы видите информационную страницу PHP 8.0.3, то все в порядке.

Страница PHP версии 8.0.3 на Apache

Установка PHP 8 для NGINX сервера Ubuntu

В отличие от Apache, NGINX не имеет встроенных возможностей для обработки PHP-документов. Чтобы обойти эту проблему, вам нужно установить PHP-FPM (то есть PHP FastCGI Process Manager) и настроить его для работы с NGINX.

Первое что требуется это убедится в том, что вы добавили репозиторий ondre/php.

Кроме того, проверьте наличие обновлений пакета с помощью команды:

Чтобы установить PHP-FPM 8.0 на Ubuntu 20.04, выполните приведенную ниже команду.

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

Затем откройте файл блока сервера NGINX по умолчанию, делается это следующим образом.

$ sudo nano /etc/nginx/sites-available/default

Прокрутите вниз, пока не дойдете до строки, начинающейся с index, а затем добавьте index.php к списку, как показано на рисунке ниже.

Добавить index.php директива to NGINX index

Прокрутите страницу вниз еще дальше, пока не увидите раздел # pass PHP scripts to FastCGI server. Измените эту часть конфигурационного файла так, чтобы она выглядела так, как вы видите в приведенном ниже блоке кода.

# pass PHP scripts to FastCGI server
#
location

.php$ <
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
>

Обратите внимание, что определенные строки были раскомментированы, а php7.4-fpm.sock был заменен на php8.0-fpm.sock.

Сохраните внесенные изменения и закройте файл блокировки сервера.

Тест PHP 8 на NGINX

Чтобы убедиться, что после установки PHP 8, он правильно работает с NGINX. Создайте index.php файл в корне документа по умолчанию.

Скопируйте и вставьте приведенный ниже пример PHP — кода в текстовый редактор.

Сохраните и закройте index.php файл.

И последнее, откройте веб-браузер и перейдите к server IP/index.php… Заменив serverIP на ваш фактический IP-адрес сервера.

Если вы видите страницу PHP версии 8.0.3 info, то вы все сделали правильно.

PHP Версия 8.0.3 страница на NGINX

Заключение

В этой статье мы описали шаги по установке и настройке PHP 8 на веб-серверах Apache и NGINX. Если у вас есть какие-либо вопросы пожалуйста оставьте комментарии.

Источник

Apache NetBeans 12.5

This tutorial needs a review. You can open a JIRA issue, or edit it in GitHub following these contribution guidelines.

В данном учебном курсе рассматривается процедура настройки среды разработки PHP в операционной системе Ubuntu (версия 7.10 и более поздние). Эта процедура предполагает установку и настройку механизма PHP, базы данных MySQL, веб-сервера Apache и отладчика XDebug.

Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.

Пакет загрузки PHP

Рекомендуется использовать HTTP-сервер Apache 2.2.

Сервер базы данных

Рекомендуется использовать сервер MySQL 5.0.

Отладчик PHP (не обязательно)

Версия XDebug 2.0 или более поздняя

Как правило, разработка и отладка выполняются на локальном веб-сервере, в то время как производственная среда размещена на удаленном веб-сервере. Настройка удаленного веб-сервера описана в разделе + Развертывание приложения PHP на удаленном веб-сервере с помощью IDE NetBeans+. Этот учебный курс содержит информацию, необходимую для настройки локального веб-сервера. Поддержка PHP может добавляться к целому ряду локальных веб-серверов (IIS, Xitami и т.д.), но обычно используется сервер HTTP Apache.

Установка программного обеспечения

В данном учебном курсе рассматривается процедура настройки среды разработки PHP в операционной системе Ubuntu (версия 7.04 и более поздние). Необходимо выполнить следующие действия:

Установить сервер Apache2 HTTP, механизм PHP5, сервер базы данных MySQL 5.0 и модуль PHP5-MySQL. Эти пакеты можно установить одновременно как стек LAMP или установить по отдельности.

Для получения дополнительных сведений об установке Apache, MySQL и PHP см. Сообщество Ubuntu.

Одновременная установка всех пакетов программного обеспечения

Ubuntu предоставляет пакет Linux AMP (LAMP), который содержит все необходимые пакеты для среды PHP. Для установки программного обеспечения можно выполнить следующую команду в командной строке в окне терминала:

Пакет lamp-server включает в себя наиболее удобную версию PHP, Apache 2, MySQL и PHP5-MySQL.

Установка пакетов программного обеспечения по отдельности

Вместо установки целого набора коллекций LAMP пакеты можно также установить индивидуально. Эта функция используется, если один из компонентов (например, сервер Apache или сервер базы данных MySQL) уже установлен. Можно использовать средства командной строки или графический пользовательский интерфейс Synaptic Package Manager.

Отдельно могут быть установлены следующие пакеты:

Проверка установки

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

Чтобы убедиться, что Apache и PHP установлены и запущены, откройте IDE NetBeans и создайте проект PHP. В файле index.php введите метод PHP phpinfo() . Запустите файл. При этом должна отобразиться стандартная информационная страница PHP.

Устранение проблем

Ниже перечислены часто возникающие проблемы при проверке установки стека PHP в Ubuntu:

*В окне браузера отображается ошибка «Not Found» для

USER/PROJECT/index.php *. Удалите строку

USER из URL-адреса. Например, если эта ошибка происходит для URL-адреса

ubuntu/test1/index.php , измените его на test1/index.php . Обратите внимание, что можно настроить адрес URL для проекта PHP в IDE NetBeans либо при создании проекта или путем щелчка правой кнопки мыши узла проекта и перехода в ‘Свойства’ > ‘Запустить конфигурацию’.

В браузере отображается всплывающее окно с запросом на открытие файла, как если бы механизм PHP не распознавался. Пакет php5-common содержит ошибку. Замените его пакетами php5 и phpmyadmin . Для замены пакета php5-common необходимо выполнить следующие две команды:

Указание корневого узла документа для сервера HTTP Apache2

Корневой узел документов представляет собой папку, из которой сервер HTTP Apache извлекает файлы для отображения в браузере. Корневой узел документов указан в файле, определяющем виртуальный узел. Файл настройки, определяющий виртуальный узел по умолчанию:

с корневым узлом документов

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

Создание местоположения корневого узла документов

Выберите «Places > Home Folder».

В контекстном меню выберите «Create Folder».

Введите имя папки, например public_html.

Создание нового виртуального узла

Для запуска терминала выберите «Applications>Accessories>Terminal». Откроется окно терминала.

Для копирования файла настройки из виртуального узла по умолчанию в новый файл ( mysite ) введите в командной строке следующую команду:

Запустите приложение gedit и отредактируйте в нем новый файл настройки ( mysite ):

При появлении запроса введите пароль, определенный для пользователя root во время установки операционной системы.

Измените корневой узел документов, указав в нем новое местоположение:

Источник

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

Зачем?
Это самый первый вопрос, который задаст большинство.
Отвечу:
1) Дефолтный php без зачастую нужных вещей вроде pcntl, и к тому же с вкомпиленным генератором неведомой совокупительной фигни Suhosin Patch.
2) Сборка модулей, которых нет в репозитории.
3) Нет руководств такого типа. Нет, действительно нету, лишь короткие руководства, которые с оговоркой можно назвать логом ./configure && make && make install, и по которым сложно что-то собрать из-за наличия требований дополнительных библиотек.
4) Я не буду писать про фан. Просто не буду, т.к. мы не балуемся, а собираем продукт для работы. Многие найдут это плюсом, но не я.
5) Внезапно возник вопрос сборки своего модуля. Навыки сборки под никс очень помогли в сборке под винду, где и был написан экстеншн.
Можно конечно было сразу писать под никсами… Но ставить и настраиватькастомизировать никсы только ради одного проекта(в консоли на удаленном сервере разрабатывать как-то не особо приятно) мне не хотелось.

Начинаем установку
Создаем каталог и переходим в него:

На девственной ubuntu-server apt-get потребует скачать около 85мб.
Устанавливать мы будем в /opt, чтобы не путать с файлами дистрибутива.

Приступим к сборке апача
Комментировать ничего не буду, т.к. тут все прозрачно и в комментариях не нуждается.

Устанавливаем PHP
Да, именно его модули требуют кучу зависимостей. Я конфигурировал для MySQL/SQLite СУБД, для других собирайте сами. Не нужно бояться добавить сюда лишнего — на производительность это не повлияет.

Пара слов о опциях. PHP-разработчик обязан знать, что значат эти модули(опция начиная с —with-curl), а тот, кто не разработчик, но кому волею судьбы пришлось настраивать сервер, пусть просто поверит, что они более-менее оптимальны и ничего необходимого типа pdo или mysqli не вырезано, как иногда бывает. Это же касается и конфига php.ini.

Правим конфиг апача

Я заменяю значение DocumentRoot на «/var/www», добавляю в DirectoryIndex index.php, добавляю AddType application/x-httpd-php .php
Создаем phpinfo.php с содержимым и наслаждаемся видом ненастроенного php(запускаем апач через /opt/apache2/bin/apachectl start).

Настраиваем php
Копируем дефолтный php.ini, редактируем его:

Правим эти параметры(я даже не буду заикаться насчет того, что они значат):
error_reporting = E_ALL
display_errors включаем для дебага, на боевой раскладке же выключаем.
log_errors = On
post_max_size = 64M(для типичных задач это более чем)
magic_quotes_gpc = Off(и почему они по молчанию включены? Ума не приложу)
include_path = «.:/opt/php5.2/lib/php»(сюда я положил ZF и прочие интересные вещи)
upload_max_filesize = 64M(равен post_max_size)
Подскажу, что в виме поиском занимается «?»

Автоматический запуск
Для начала уберем дефолтный апач из запуска, нам поможет удобная утилитка rcconf(ее использовать нагляднее, чем update-rc.d, привык ее юзать):

Теперь в rc.local добавляем строку запуска нашего апача, что позволит запускаться ему при старте:

Строка запуска выглядит так: /opt/apache2/bin/apachectl start
Можно же все сделать и правильно, через добавление скрипта, но я ограничусь этим.

Устанавливаем XCache
Сборку комментировать не буду:

Комментируем zend_extension_ts, выставляем xcache.admin.user в имя админа, xcache.admin.pass в md5 пароля, xcache.size в 64M, xcache.optimizer в On, путь zend_extension выставляем в «/opt/php5.2/lib/php/extensions/no-debug-non-zts-20060613/xcache.so».
Если путь выставлен правильно, то в phpinfo() мы увидим параметры xcache, а статистику сможем посмотреть в админке.
Если этого нету, то смотрим логи апача и ищем ошибку.

Добавляем в php.ini extension=memcache.so, путь прописывать не надо, она лежит по дефолтному. Ставить из pear на никсах легко, это вам не windows =)

nginx
Меняем порт у апача, вводим в гугле nginx reverse proxy, читаем, делаем. Много раз переписывать одно и то же нет не только желания, но и смысла. Автозагрузка аналогичная апачу.
Update: Использование Nginx Как Reverse-Proxy Сервера На Загруженных Сайтах, nginx как reverse proxy

В следующих сериях
1. Хоррор «Сборка минимального PHP под Windows при помощи VS 2008». Сборка экстеншенов: helloworld. Если хватит кармы, то будет завтра-послезавтра, т.к. уже написана.
2. Сборка экстеншенов на linux. Реализация TEA.

Источник

Оцените статью
Программное обеспечение или материал Требуемая версия