Linux как поставить php

Установка на Unix-системы

Содержание

Этот раздел описывает установку и настройку PHP на Unix-системах. Пожалуйста, прочитайте все разделы, касающиеся вашей платформы или веб-сервера, прежде чем вы приступите к установке.

Как сказано в разделе Общие указания по установке, в этом разделе в основном мы описываем установку PHP, ориентированную на веб, однако мы также затрагиваем установку PHP для использования в командной строке.

Есть несколько способов установки PHP на Unix платформы. Один из них — процесс конфигурирования и компиляции исходников, другой — установка из пакетов. Этот документ сфокусирован на установке из исходных кодов. Много Unix-подобных систем имеют различные системы установки программ из пакетов. Они могут помочь при установке стандартных конфигураций, но если вам необходимы другие варианты (такие как безопасный сервер или другой драйвер базы данных), вам может потребоваться скомпилировать PHP и/или ваш веб-сервер. Если вы незнакомы с компилированием собственного программного обеспечения, то, может быть, стоит поискать готовый пакет PHP с нужными вам возможностями, собранный кем-нибудь ещё.

Для компиляции PHP из исходных кодов вам потребуется следующее:

  • Базовые знания Unix (способность обращаться с «make» и компилятором C)
  • Компилятор ANSI C
  • Веб-сервер
  • Любые компоненты, специфичные для отдельных модулей PHP (такие как библиотеки GD , PDF и т.д.)

При сборке непосредственно из исходников Git или после ручных изменений вам может также понадобиться:

  • autoconf: 2.59+ (для PHP >= 7.0.0), 2.64+ (для PHP >= 7.2.0)
  • automake: 1.4+
  • libtool: 1.4.x+ (кроме версии 1.4.2)
  • re2c: 0.13.4+
  • bison:
    • PHP 7.0 — 7.3: 2.4 и выше (включая Bison 3.x)
    • PHP 7.4: > 3.0

Общая (или начальная) конфигурация PHP задаётся параметрами скрипта configure. Вы можете просмотреть список допустимых параметров вместе с их кратким пояснением при помощи команды ./configure —help. Различные опции документированы в данном руководстве отдельно, список основных параметров можно просмотреть в приложении Основные параметры конфигурации, тогда как параметры, специфичные для различных модулей, описаны на страницах документации, посвящённых этим модулям.

Когда PHP сконфигурирован, все готово к сборке модулей и/или исполняемых файлов. Об этом должна позаботиться команда make. Если что-то не получилось и вы не можете понять почему, смотрите раздел Проблемы установки.

Некоторые Unix системы (такие как OpenBSD и SELinux) могут запрещать, из соображений безопасности, выделение памяти одновременно как записываемой и исполняемой. Это называется PaX MPROTECT или нарушение защиты W^X. Тем не менее, такой режим выделения памяти необходим для поддержки JIT компиляции PCRE JIT, так что в таких случаях необходимо собирать PHP без поддержки JIT компиляции PCRE, либо бинарные файлы должны быть внесены в белый список операционной системы,

Замечание: Кросс-компиляция под ARM с помощью «Android toolchain» на данный момент не поддерживается.

Источник

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

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

Читайте также:  Microsoft windows для навигатора

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

На девственной 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.

Источник

Linux как поставить php

Раздел содержит информацию и подсказки, относящиеся к установке PHP на » Debian GNU/Linux.

Неофициальные сборки от третьих лиц не поддерживаются. О любых ошибках следует сообщать разработчикам Debian, но перед этим стоит проверить, возможно они уже исправлены в новых релизах, которые можно скачать на » странице загрузки.

Хотя и существует универсальная инструкция по установке PHP на Unix/Linux, в этом разделе мы рассмотрим особенности специфичные для Debian, такие как использование команд apt или aptitude . В рамках этого руководства обе эти команды рассматриваются как взаимозаменяемые.

Использование APT

Во первых, обратите внимание на то, что некоторые пакеты связаны: libapache-mod-php нужен для интеграции с Apache 2, и php-pear с PEAR.

Во-вторых, перед установкой убедитесь, что список пакетов находится в актуальном состоянии. Как правило, это делается с помощью команды apt update.

Пример #1 Пример установки Apache 2 на Debian

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

Читайте также:  Как сделать прозрачную панель задач windows 10 2020

Пример #2 Остановка и запуск Apache после установки PHP

Контроль конфигурации

Изначально, PHP устанавливается только с основными модулями ядра. Если вы хотите установить дополнительные модули, такие как MySQL, cURL, GD и т.д., это также можно сделать с помощью команды apt .

Пример #3 Способы получить список дополнительных пакетов PHP

Будет выведен список большого числа пакетов, включая несколько специфичных, таких как php-cgi, php-cli and php-dev. Определите, какие вам нужны и установите с помощью apt-get или aptitude . И, так как Debian производит проверку зависимостей, вам будет выведен запрос на их установку.

Пример #4 Установка PHP с MySQL и cURL

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

Стандартные проблемы

  • Если скрипты PHP не разбираются веб-сервером, то скорее всего это означает, что PHP не был добавлен в конфигурацию веб-сервера. На Debian это обычно /etc/apache2/apache2.conf или похожий. Смотрите документацию Debian для выяснения подробностей.
  • Модуль, по-видимому, установлен, а его функции всё равно не распознаются. В таком случае убедитесь, что соответствующий ini-файл был загружен и/или веб-сервер был перезагружен после установки модуля.
  • Для установки пакетов в Debian существуют две основных команды (не считая стандартных вариантов Linux): apt и aptitude . Объяснения их синтаксиса, особенностей и отличий друг от друга выходит за рамки данного руководства.

User Contributed Notes 6 notes

To refresh this document, perhaps it would be worth mentioning more modern methods to serve php content under apache httpd.

Specifically, the preferred method is now fastcgi, using either of those recipes:

While the legacy mod_php approach is still applicable for some older installations, the fastcgi method is much faster, and require much less RAM to operate, based on similar traffic patterns.

Compiling PHP on Ubuntu boxes.

If you would like to compile PHP from source as opposed to relying on package maintainers, here’s a list of packages, and commands you can run

STEP 1:
sudo apt-get install autoconf build-essential curl libtool \
libssl-dev libcurl4-openssl-dev libxml2-dev libreadline7 \
libreadline-dev libzip-dev libzip4 nginx openssl \
pkg-config zlib1g-dev

So you don’t overwrite any existing PHP installs on your system, install PHP in your home directory. Create a directory for the PHP binaries to live

STEP 2:
# download the latest PHP tarball, decompress it, then cd to the new directory.

STEP 3:
Configure PHP. Remove any options you don’t need (like MySQL or Postgres (—with-pdo-pgsql))

./configure —prefix=$HOME/bin/php-latest \
—enable-mysqlnd \
—with-pdo-mysql \
—with-pdo-mysql=mysqlnd \
—with-pdo-pgsql=/usr/bin/pg_config \
—enable-bcmath \
—enable-fpm \
—with-fpm-user=www-data \
—with-fpm-group=www-data \
—enable-mbstring \
—enable-phpdbg \
—enable-shmop \
—enable-sockets \
—enable-sysvmsg \
—enable-sysvsem \
—enable-sysvshm \
—enable-zip \
—with-libzip=/usr/lib/x86_64-linux-gnu \
—with-zlib \
—with-curl \
—with-pear \
—with-openssl \
—enable-pcntl \
—with-readline

STEP 4:
compile the binaries by typing: make

If no errors, install by typing: make install

STEP 5:
Copy the PHP.ini file to the install directory

/bin/php-latest/etc;
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf

STEP 7:
create symbolic links for your for your binary files

/bin
ln -s php-latest/bin/php php
ln -s php-latest/bin/php-cgi php-cgi
ln -s php-latest/bin/php-config php-config
ln -s php-latest/bin/phpize phpize
ln -s php-latest/bin/phar.phar phar
ln -s php-latest/bin/pear pear
ln -s php-latest/bin/phpdbg phpdbg
ln -s php-latest/sbin/php-fpm php-fpm

STEP 8: link your local PHP to the php command. You will need to logout then log back in for php to switch to the local version instead of the installed version

# add this to .bashrc
if [ -d «$HOME/bin» ] ; then
PATH=»$HOME/bin:$PATH»
fi

Источник

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.

Читайте также:  Windows latest build download

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

Пакет загрузки 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 во время установки операционной системы.

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

Источник

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