Где находится php ubuntu

Обновлено: 07.07.2024

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Установка предыдущих версий PHP

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

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

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

Выводы

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

Работа с файлами сайта, размещенного на хостинге или собственной виртуальной машине, рано или поздно приведет вас к файлу основных настроек языка PHP. Узнать, где лежит php ini, можно несколькими способами, которые зависят от операционной системы. Если вы уже используете хостинг на Windows или Linux, информация по поиску и использованию данного файла вам пригодится.

Расположение файла редко зависит от того, какой конструктор сайтов или оболочку вы используете. Вордпресс, Джумла и другие оболочки будут использовать стандартный php.ini, доступный в ОС сервера, либо тот, что поставляется вместе с инструментарием Denver.

Причины для поиска php.ini

Изменения в php.ini для сайта производятся тогда, когда нужно расширить или снять ограничения на некоторые операции – например, объем импортируемых или экспортируемых данных. Снятие ограничений полезно, когда вы переносите сайт вместе с его содержимым с одной платформы на другую, так как настройки по умолчанию могут этому помешать. Продвинутые пользователи могут настроить здесь все, что связано с исполнением команд на языке PHP.

Как найти данный файл

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

Выполнение этого кода при открытии файла-страницы на сайте даст весьма подробную информацию об используемой версии PHP для вашего сайта, а также другие важные параметры. Там же будет и расположение файла php.ini на хостинге, которое используется в данный момент.

Основное правило при использовании Apache, Denver и других оболочек для виртуального сервера: вы фактически работаете с тем же Linux’ом, поэтому пути находятся стандартными для этой системы (и для самого PHP) способами, и, скорее всего, содержат соответствующие названия в именах папок. Если советы, касающиеся конкретных CMS, не помогли, просто ищите файл стандартным способом через создание страницы с phpinfo().

Ищем файл настроек PHP в популярных CMS


Даже пользователю-новичку может быть нужно найти, где находится php ini в Wordpress или Joomla. Эти CMS дружелюбны к новым пользователям, но изменения параметров PHP все равно могут потребоваться по разным причинам. Файл обычно располагается в \usr\local\php5 относительно корневой папки, которую вам предоставляет хостинг, или папки, которая является рабочей для вашего внутреннего сервера. Метод с созданием проверочного файла, описанный выше, отлично работает в этом случае. Сами CMS обычно не вносят изменения в расположение php ini.

Будьте внимательны, когда заказываете хостинг веб сайтов – в некоторых случаях провайдер может ограничить или запретить изменение важных файлов, в том числе конфигурационных файлов PHP. Если возникают проблемы с поиском или открытием файла, есть смысл обратиться в техподдержку хостинга напрямую и уточнить, какие возможности вам доступны. В работе с собственным виртуальным сервером на Denver/Apache вас никто не ограничивает.

Если вы работаете в CMS Bitrix, вы можете и не найти файл настроек PHP в привычных директориях. Файл php ini в Bitrix лежит в разных папках в зависимости от версии самого Битрикса, поэтому создавайте тестовую страничку из первого примера и узнавайте точный путь оттуда. На некоторых хостингах вы можете найти путь /home/login, но туда обычно загружаются собственноручно созданные файлы, исходник для которых берется из /home/login/etc.

Расположение php.ini в ОС Linux разных версий и сборок


ОС Linux считается самой подходящей системой для регулярной работы с хостингом, сайтами на PHP и сопутствующими процессами. Если вы имеете непосредственный доступ к файловой системе сервера (являетесь его владельцем, например), то ищите php.ini по адресам /etc/, /usr/local/lib или /usr/local/php/etc/ – это самые распространенные места. PHP Zend размещает ини файл в /usr/local/Zend/etc/, учтите это, если используете данную оболочку. Вы можете задать и обычный поиск файла в системе, но так вы не узнаете, какой из нескольких файлов php.ini реально используется в данный момент для задания настроек сервера и сайта.

Вряд ли сложным исключением станет сборка ОС на базе Ubuntu. Место, где лежит php.ini в Ubuntu, определяется через phpinfo() и зависит от того, какой именно тип сервера вы используете. Для Apache это может быть /etc/php5/apache2, например. Если файл вовсе не удается обнаружить, то его можно создать вручную или скопировать из другого места, но только если знаете примерную структуру файла.

Как настроить php.ini под свои потребности?

Настройка важных и второстепенных параметров может быть весьма долгим процессом. Если у вас есть выделенный веб сервер, и вы хотите тонко настроить его работу, то рекомендуем обратиться к одному из онлайн руководств по параметрам в PHP.ini для продвинутых пользователей. Сам процесс задания параметров сводится к изменению числовых или текстовых значений для одной из строк-директив.

Вот некоторые из настроек, которые можно изменить, если владелец хостинга разрешает использовать php.ini и редактировать его самостоятельно:

Эти две строки важны для любого пользователя, желающего снять ограничение на объем загружаемых файлов. Эта настройка проверяется при импорте записей в Вордпресс и другие CMS того же типа, значения по умолчанию в целях безопасности сервера сделаны очень скромными. Если вы точно знаете, что делаете, можете значительно увеличить лимит, либо просто подогнать его под размер импортируемых файлов (если уже знаете их примерный объем).

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

Эта важная директива задает максимальное выделение памяти под один отдельный скрипт. Не завышайте это значение, если не знаете, для чего это может понадобиться. Скрипты PHP достаточно легковесны с точки зрения обычного пользователя.

Этот раздел содержит общие вопросы о том, как производится установка PHP. Дистрибутивы PHP доступны почти для всех операционных систем и веб-серверов.

Для установки PHP, следуйте инструкциям: Установка и настройка.

Почему лучше не пользоваться Apache2 с многопоточным "MPM" (event, worker) в промышленной эксплуатации?

PHP подобен связующему звену. Это связующее звено для создания хороших веб-приложений путём объединения разрозненных сторонних библиотек в единое целое, через использование интуитивно понятного и простого для изучения языкового интерфейса. Гибкость и сила PHP основана на стабильности и устойчивости, лежащей в основе платформы. Чтобы всё работало, нужна рабочая операционная система, рабочий веб-сервер и рабочие сторонние библиотеки. Но когда хоть что-либо из них перестаёт работать - PHP нуждается в способах быстрого определения причины неполадки и её устранения. И когда вы усложняете базовый фреймворк тем, что не изолируете исполняемые потоки и сегменты памяти, и не предоставляете потокам отдельных изолированных "песочниц" - ослабляется вся PHP-система.

Если вы желаете использовать многопоточный "MPM" - ознакомьтесь с конфигурацией "FastCGI", согласно которой PHP работает в собственном пространстве памяти.

ОС "Unix"/"Windows": Где искать файл php.ini ?

По умолчанию в Unix он должен быть в /usr/local/lib , который соответствует <установочный-путь>/lib . Многие захотят изменить этот путь в момент компиляции, используя опцию --with-config-file-path Например, можно написать так:

И затем скопировать php.ini-development из дистрибутива в /etc/php.ini и внести в него все необходимые изменения.

В ОС "Windows", по умолчанию, путь к файлу php.ini это путь к директории "Windows". Если вы пользуетесь веб-сервером "Apache", php.ini находится по пути: ?\program files\apache group\apache\ . Таким образом, на одном компьютере можно пользоваться несколькими файлами php.ini , соответственно версиям "Apache".

Затем скопируйте URL,вызвавший проблему в браузере

Если будет происходить core dump, gdb сообщит вам об этом

Если ваш скрипт использует регулярные выражения ( preg_match() и подобные), проверьте, с одинаковыми ли пакетами обработки RegEx скомпилированы PHP и Apache? В случае PHP и Apache 1.3.x это происходит автоматически.

Unix: Я установил PHP используя RPMS, но Apache не обрабатывает PHP-страницы, в чём дело?

. в область глобальных свойств, или в свойства того VirtualDomain, для которого вы хотите включить поддержку PHP.

Unix: Я пропатчил Apache модулем FrontPage, и теперь PHP не работает. Т.е. PHP несовместим с модулями Apache FrontPage?

Unix/Windows: Я установил PHP, но при попытке открыть PHP-файл браузером вижу просто пустой экран.

Выберите в браузере опцию "посмотреть код" и вы, возможно, увидите, ваш PHP-код. Это значит, что Apache не передал ваш скрипт интерпретатору PHP. Значит что-то неправильно с конфигурацией сервера. В этом случае перепроверьте конфигурацию веб-сервера в соответствии с инструкциями по установке PHP.

Unix/Windows: Я установил PHP, но когда пытаюсь посмотреть созданную PHP-страницу через браузер, то получаю ошибку 500.

Некоторые операционные системы: Я установил PHP без каких-либо ошибок, но когда пытаюсь запустить Apache, мне выводится ошибка:

Это означает, что проблема не в PHP, а в клиентских библиотеках MySQL. Некоторые из них требуют сборки PHP с опцией --with-zlib. Этот нюанс описан в MySQL FAQ.

Windows: Я установил PHP, но когда пытаюсь открыть страницу скрипта через браузер, получаю ошибку:

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

Убедитесь, что все пользователи, которым может понадобиться запустить ваш PHP-скрипт, имеют право запускать php.exe ! IIS использует анонимного пользователя, создаваемого во время инсталляции. Этот пользователь должен иметь права на запуск php.exe . Так же, каждый авторизованный пользователь должен иметь права на запуск php.exe . Для IIS4 вы сказать ему, что PHP - это интерпретатор скриптов. Также прочтите этот FAQ.

Вы должны установить опцию cgi.force_redirect равную 0 . По умолчанию она равна 1 . Убедитесь, что она не закомментирована (с помощью ; ). Как и все опции PHP, она настраивается в php.ini

Так как она по умолчанию равна 1 , критически важно убедиться, что используется именно тот php.ini , который нужен. Читайте этот FAQ для подробностей.

Как я могу понять, что мой php.ini найден и используется? Такое впечатление, что вносимые мною изменения игнорируются.

Для проверки, какой именно php.ini используется, запустите функцию phpinfo() . Где-то вверху будет список с названием Configuration File (php.ini) . Из него вы сможете понять, какой именно php.ini используется. Если указана только директория в PATH , а файл конфигурации не прочитан, то просто скопируйте его в эту директорию. Если php.ini включён PATH - это значит, что он прочитан.

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

Как я могу добавить директорию с PHP в PATH в Windows?

Старт → Панель Управления → Система

Найдите строку, содержащую переменную PATH

Совершите на ней двойной щелчок мышью

Замечание: Не забудьте перезагрузиться после описанных выше действий и, после перезагрузки, проверить, что переменная PATH содержит нужный путь.

Как я могу сделать файл php.ini доступным для PHP в windows?

Есть несколько способов сделать это. Если вы используете Apache, обратитесь к документации Apache, в противном случае вы должны установить переменную среды PHPRC .

Можно ли использовать согласование контента Apache (опция MultiViews) с PHP?

Это решение не сработает с Apache 1, так как модуль PHP не отлавливает php-script .

PHP ограничен работой только с методами GET и POST?

Нет, возможно работать с любыми запросами, например CONNECT. Правильный статус ответа должен будет посылаться функцией header() . Если вам надо, чтобы PHP работать только с методами GET и POST, необходимо сконфигурировать Apache следующим образом:

В Ubuntu можно легко управлять несколькими версиями PHP. Мы рассмотрим процесс установки разных версий PHP и жонглирования ими.

Установка PHP

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

Установка базовой версии

Это самый простой способ. Каждая версия Ubuntu в своем репозитории содержит соответствующую версию PHP.

Установка выполняется одной командой:

apt install php

Установка определенной версии

Если нам необходима версия PHP, которой нет в репозитории, выполняем установку дополнительного — для этого вводим две команды:

apt install software-properties-common

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

apt-get install php7.4

apt-get install php8.0

* в данном примере 7.4 и 8.

Выбор версии PHP по умолчанию

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

Сменить версию по умолчанию:

update-alternatives --config php

There are 2 choices for the alternative php (providing /usr/bin/php).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/php8.0 80 auto mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.0 80 manual mode

* в данном примере используется версия php8 как версия по умолчанию.

Для смены, система предложит нам выбрать версию из списка:

Press <enter> to keep the current choice[*], or type selection number: 1

* так мы переключимся на php7.4.

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

Расширения устанавливаются с синтаксисом:

apt install php<версия>-<расширение>

Для версии, которая идет по умолчанию в репозитории, установку можно выполнить так:

apt install php-mysqli

В остальных случаях обязательно указываем версию:

apt install php7.4-mysqli

Настройка PHP

В Ubuntu настройки PHP находятся в разных файлах — для каждой версии и для каждой системы, которая обрабатывает запросы.

Например, для php версии 8.0, которая будет запускаться из командной строки, файл будет:

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