Перейти к содержимому

Где находится файл php ini в ubuntu

  • автор:

Настройка файла php.ini в Linux

Настройка файла php.ini в Linux

Интерпретатор php может поставляться в виде модуля для Apache, выполнять скрипты из командной строки или в виде отдельного сервиса php-fpm. Эти сервисы отличаются своими возможностями, и предназначением, но для любого вида интерпретатора нужно задать базовые настройки, например, рабочая папка, включенные расширения, отображение ошибок и так далее. Все эти настройки задаются через файл php.ini. В этой инструкции мы рассмотрим как выполняется настройка файла php.ini в операционных системах Linux, хотя все информация подойдет и для Windows.

Если у вас еще не установлен интерпретатор языка программирования php, то вы можете ознакомиться со статьей установка lamp в Ubuntu 16.04.

Расположение и синтаксис php.ini

Для каждой версии интерпретатора конфигурационный файл php.ini находится в отдельной папке. Но все конфигурационные файлы находятся в папке /etc/php, например, /etc/php5:

php

Папка conf.d содержит общие настройки для различных расширений и модулей, они не будут нас сейчас интересовать. Более интересны следующие три папки – apache, cli и fpm. В них содержатся конфигурационные файлы php.ini для каждого из этих интерпретаторов.

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

Что касается синтаксиса файла, то он разделен на секции, сначала идет секция настройки php, которая разделена на подсекции в зависимости от типа настроек, дальше идут секции настройки разных модулей. Синтаксис самих настроек очень прост, он соответствует привычному синтаксису ini файлов. Строка начинается с имени настройки, затем следует знак равно, а за ним значение:

имя_настройки=значение_параметра

Символами [] обозначается имя секции, например, [PHP], а символ ; означает комментарий, он и все символы после него не читаются интерпретатором. А теперь рассмотрим как выполняется настройка php.ini и переберем самые важные параметры.

Настройка файла php.ini

Для удобства ориентирования мы разобьем все параметры по категориях в зависимости от их назначения. Вам будет достаточно найти нужный параметр и изменить его значение. А теперь откройте файл настроек php, например, для модуля apache и перейдем к настройке. Чтобы избежать ошибок не добавляйте новые строки, а ищите уже существующие и изменяйте значения на нужные:

php1

Сначала идет немного информации о самом файле в виде комментариев, затем интересующие нас настройки.

Вывод ошибок в php

Настройка php 7 обычно начинается с конфигурации вывода ошибок. Все настройки вывода ошибок находятся в разделе Error handling and logging. По умолчанию вывод ошибок на экран во время выполнения скрипта отключен. Это сделано для того, чтобы пользователи не смогли увидеть ничего лишнего. Вместо этого, все ошибки записываются в лог файл. Если вы используете php на домашнем компьютере, то такие меры не нужны и вы можете сразу выводить все на экран:

php3

Замените off на on. В php используются различные типы ошибок, например, критические, предупреждения, ошибки синтаксиса, с помощью строки error_reporting вы можете включить вывод только определенных типов ошибок:

Если нужно объединить несколько типов ошибок, то используйте символ &, а для отключения отображения поставьте перед типом знак ~. Приведенный выше пример отображает все ошибки (E_ALL), кроме сообщений об устаревших функциях (E_DEPRECATED). Вы можете отключить все типы использовав 0:

Включите запись ошибок php в лог файл, если не выводите их на экран:

Чтобы не засорять лог однотипными сообщениями можно игнорировать повторяющиеся ошибки в пределах одного исполнения:

Ограничения ресурсов

php6

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

По умолчанию максимальное время выполнения скрипта – 30 секунд, сделаем минуту:

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

Максимальное количество переменных в GET и POST:

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

Максимальный размер данных, передаваемых в POST запросе тоже ограничивается, размер по умолчанию – 8 Мегабайт:

Вы можете ограничить область действия php в системе с помощью опции openbase_dir, она указывает папку, выше которой скрипт не может получить доступ к файловой системе:

С помощью директив disable_functions и disable_classes вы можете отключить использование в скриптах определенных функций или классов, например, это может быть полезно для веб-хостингов. В этом примере мы отключаем использование функции ini_set, которая позволяет менять настройки php из скрипта:

Директории по умолчанию

php4

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

Папка с модулями php:

Папка для записи временных файлов:

Загрузка файлов

php5

Для того чтобы пользователи могли загружать свои файлы на сервер, например, фото, нужно включить эту функцию в php:

Максимальный размер загружаемого файла:

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

Настройка php.ini практически завершена, нам остались лишь расширения.

Настройка расширений

Расширения позволяют очень сильно увеличить функциональность php. Например, благодаря расширениям вы можете использовать в своих скриптах базы данных mysql, postgresql, mysqli, sqlite, графическую библиотеку gd и многое другое. Все это включается в этом разделе.

Для включения расширения достаточно убрать комментарий перед строкой с его командой, например:

php2

Обратите внимание, что для windows расширение будет иметь формат dll, но для linux нужно использовать so. В следующих секциях идет настройка каждого из расширений, но мы их рассматривать не будем потому что они обычно не требуют настройки.

Выводы

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

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

Изменение настроек PHP на сервере Ubuntu 14.04

PHP – это серверный язык сценариев для быстрого построения динамических страниц. PHP используется многими блог-платформами и системами управления контентом (например, WordPress и Drupal). Также PHP является одним из компонентов программных стеков LAMP и LEMP.

Обновление и отладка настроек PHP – обычное дело при построении веб-сайта. Часто на одном сервере существует несколько установок PHP, каждая из которых имеет свой собственный конфигурационный файл.

Данное руководство научит просматривать и обновлять текущие настройки PHP.

Требования

  • Сервер Ubuntu 14.04.
  • Не-root пользователь с доступом к sudo (подробнее – здесь).
  • Базовые навыки редактирования файлов в Linux.
  • Предустановленный веб-сервер и PHP (например, стек LAMP).

Примечание: Данное руководство подходит для стеков LAMP и LEMP, WordPress, PHPMyAdmin, Magento, Joomla, Drupal, Mediawiki и ownCloud.

Данное руководство предназначено для Ubuntu 14.04. в других системах содержимое файла php.ini будет таким же, однако его местонахождение может отличаться.

Просмотр конфигураций PHP

Чтобы просмотреть текущие параметры PHP, создайте страницу с функцией phpinfo.

Сначала откройте каталог, в котором хранятся файлы сайта. К примеру, стандартным каталогом Apache на сервере Ubuntu 14.04 является /var/www/html/:

В этом каталоге создайте файл info.php:

sudo nano /var/www/html/info.php

Вставьте в него такой код:

Примечание: Иногда файл info.php хранится в каталоге сайта по умолчанию.

После этого посетите страницу info.php в браузере:

На экране появится страница, содержащая подробности окружения PHP, версию ОС, пути и значения параметров конфигурации.

Файл справа от строки Loaded Configuration File – это тот файл, который содержит текущие настройки PHP.

Данная страница отображает текущие параметры веб-сервера. При помощи функции поиска в браузере можно найти параметры post_max_size и upload_max_filesize, которые ограничивают размеры загружаемых файлов.

Важно! Страница info.php содержит конфиденциальные данные (версию ОС, подробности настроек системы, веб-сервера и PHP), при этом она доступна в сети. Это огромный риск для безопасности сервера, потому её нужно удалить сразу после проверки.

Изменение настроек PHP

Некоторым PHP-приложениям необходимо иметь возможность подгружать более объёмные файлы (например, темы и плагины для WordPress). Для этого нужно отредактировать php.ini:

sudo nano /etc/php5/apache2/php.ini

Примечание: В команде указан стандартный путь к файлу Apache в Ubuntu 14.04. В случае необходимости измените его.

За объём подгружаемых файлов отвечают параметры:

post_max_size = 8M
upload_max_filesize = 2M

Измените стандартные значения согласно требованиям вашего приложения. К примеру, чтобы подгружать файлы до 30MB, нужно установить такие значения:

post_max_size = 30M
upload_max_filesize = 30M

Также в файле можно изменить объём памяти, доступный PHP.

Директива max_execution_time определяет, сколько секунд может длиться процесс PHP:

Отредактировав файл php.ini, сохраните изменения и закройте текстовый редактор.

Перезапустите веб-сервер, чтобы обновить настройки.

sudo service apache2 restart

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

Примечание: Не забудьте удалить страницу после проверки.

Заключение

Многим приложениям на основе PHP не подходят стандартные параметры PHP. С помощью функции phpinfo конфигурации можно отладить согласно требованиям того или иного приложения.

Настройка параметров PHP

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

  • Указать, какие предопределенные значения может принимать параметр PHP.
  • Изменить значение по умолчанию для параметра PHP.
  • Запретить указание произвольных значений для некоторых параметров PHP.

Как задать предопределенные значения, которые может принимать параметр PHP

Для большинства параметров PHP можно выбрать единственное значение из списка предопределенных значений. Вы можете создать произвольный список предопределенных значений, которые может принимать параметр PHP, добавив в файл panel.ini одну или несколько строк по следующему образцу:

[php] settings…values[]=

  • – группа, которой принадлежит выбранный параметр PHP. Чтобы узнать больше о группах параметров PHP, смотрите раздел “Параметры и группы параметров PHP” ниже.
  • – имя выбранного параметра PHP. Используйте такой же синтаксис, как в php.ini.
  • – предопределенное значение параметра, которые вы хотите добавить в список. Используйте такой же синтаксис, как в php.ini.

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

Например, по умолчанию параметр memory_limit может принимать одно из следующих значений: 8M , 16M , 32M , 64M и 128M . Если вы хотите, чтобы выбирать можно было только из значений 64M и 128M , добавьте в файл panel.ini следующие строки:

[php] settings.performance.memory_limit.values[]="64M" settings.performance.memory_limit.values[]="128M" 

image 79193

Как изменить значение по умолчанию для параметра PHP

Для большинства параметров PHP одно значение из списка предопределенных значений отмечено как значение по умолчанию. Значение по умолчанию используется в случае, если пользователь не указал вручную никакого другого значения. Вы можете изменить значение по умолчанию для параметра PHP, добавив в файл panel.ini строку по следующему образцу:

[php] settings…default=

  • – группа, которой принадлежит выбранный параметр PHP. Чтобы узнать больше о группах параметров PHP, смотрите раздел “Параметры и группы параметров PHP” ниже.
  • – имя выбранного параметра PHP. Используйте такой же синтаксис, как в php.ini.
  • – значение по умолчанию для выбранного параметра. Используйте такой же синтаксис, как в php.ini.

Например, параметр open_basedir имеет значение по умолчанию . Чтобы изменить его на none , добавьте следующую строку в файл panel.ini :

[php] settings.general.open_basedir.default="none" 

image 79195

В этом примере значение none включается в список предопределенных значений для параметра open_basedir по умолчанию. Но возможна ситуация, когда нужное значение по умолчанию для параметра PHP не входит в список предопределенных значений, используемый по умолчанию. В этом случае вам необходимо сначала создать персональный список предопределенных значений.

Например, чтобы изменить значение по умолчанию для параметра execution_time на 180 , добавьте в файл panel.ini следующие строки:

[php] settings.performance.max_execution_time[]=30 settings.performance.max_execution_time[]=60 settings.performance.max_execution_time[]=90 settings.performance.max_execution_time[]=120 settings.performance.max_execution_time[]=180 ; adds 180 to the list of predefined values settings.performance.max_execution_time.default=180 

Как запретить использование персональных значений для параметра PHP

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

[php] settings...custom=false 
  • – группа, которой принадлежит выбранный параметр PHP. Чтобы узнать больше о группах параметров PHP, смотрите раздел “Параметры и группы параметров PHP” ниже.
  • – имя выбранного параметра PHP. Используйте такой же синтаксис, как в php.ini.

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

Например, чтобы запретить использование персональных значений для параметра error_reporting , добавьте в файл panel.ini следующие строки:

[php] settings.general.error_reporting.custom=false 

Настройка параметров PHP-FPM

Чтобы настроить параметры PHP, принадлежащие группе fpm, необходимо добавить в файл panel.ini следующие строки:

[php] settings.fpm.pm.start_servers.custom=true settings.fpm.pm.min_spare_servers.custom=true settings.fpm.pm.max_spare_servers.custom=true 

Это верно для любого изменения параметров PHP-FPM: задания значений по умолчанию, которые может принимать тот или иной параметр PHP-FPM, изменения значения по умолчанию или запрета указания персональных значений. Полный список параметров PHP-FPM показан в таблице ниже, в группе параметров “fpm (только в Linux)”.

Например, чтобы изменить значение по умолчанию для параметра pm.max_children на 20 , добавьте в файл panel.ini следующие строки:

[php] settings.fpm.pm.start_servers.custom=true settings.fpm.pm.min_spare_servers.custom=true settings.fpm.pm.max_spare_servers.custom=true settings.fpm.pm.max_children[]=20 settings.fpm.pm.max_children.default=20 

Параметры и группы параметров PHP

Вот список групп параметров PHP и входящих в них параметров:

Группа параметров PHP Имя параметра PHP
performance memory_limit
max_execution_time
max_input_time
post_max_size
upload_max_filesize
opcache.enable
wincache.ocenabled
apc.enabled
xcache.cacher
disable_functions
general safe_mode
safe_mode_include_dir
safe_mode_exec_dir
include_path
session.save_path
mail.force_extra_parameters
register_globals
open_basedir
error_reporting
display_errors
log_errors
allow_url_fopen
file_uploads
short_open_tag
magic_quotes_gpc
fpm (только в Linux) pm.max_children
pm.max_requests
pm
pm.start_servers
pm.min_spare_servers
pm.max_spare_servers
fastCgi (только в Windows) maxInstances
activityTimeout
requestTimeout
instanceMaxRequests
queueLength
rapidFailsPerMinute

Максимальный размер загружаемого файла PHP

Данная статья посвящена настройке максимального размера файла в phpMyAdmin и максимальному размеру php-запроса, обрабатываемого интерпретатором, на OpenVZ VPS и KVM VPS. Как многим известно, СУБД PHPMyAdmin написана на языке PHP, поэтому мы будем производить изменения в конфигурационных файлах интерпретатора PHP.

Настройка с помощью SSH/SFTP

Для изменения размера загружаемого файла мы будем редактировать файл php.ini
Он находится в директории /etc/php5/apache2/php.ini для дистрибутивов Debian/Ubuntu, либо /etc/php.ini (/etc/httpd/conf.d/php.conf) для CentOS/Fedora.
Для редактирования файла php.ini необходимо иметь привилегии root пользователя. При подключении с помощью SSH Вы можете использовать консольный редактор nano.
Нас интересуют параметры post_max_size и upload_max_filesize. Устанавливаем параметры по размеру файла необходимого для загрузки. К примеру:

post_max_size = 20M . upload_max_filesize = 16M''

Обратите внимание, параметр upload_max_filesize не должен быть больше post_max_size, что позволит лучше обрабатывать Ваши запросы на загрузку файлов.

После редактирования php.ini необходимо перезапустить веб-сервер.
Для этого выполните команду от имени root пользователя :

service apache2 restart #для Debian/Ubuntu service httpd restart #для CentOS/Fedora

Проверяем максимальный размер загружаемого файла:

Проверка максимального размера загружаемого файла

DirectAdmin

В контрольной панели DirectAdmin отсутствует возможность редактирования размера загружаемого файла в веб интерфейсе. Для КП DirectAdmin производить настройки необходимо с помощью ssh либо sftp протокола по инструкции выше.

Однако в DirectAdmin существует возможность конфигурирования файла php.ini для каждого пользователя в отдельности. Будут приведены примеры команд, которые необходимо выполнять при подключении к ВПС по SSH.

Для этого необходимо:

Создать директорию

Войти под пользователем root. Необходимо создать директорию php в /usr/local/directadmin/data/users/user/:

mkdir /usr/local/directadmin/data/users/user/php

и положить в нее файл php.ini:

cp /etc/php.ini /usr/local/directadmin/data/users/user/php

Путь к файлу php.ini, будет иметь такой вид:

/usr/local/directadmin/data/users/user/php/php.ini

Отредактировать конфигурационный файл httpd.conf

Открыть конфигурационный файл веб-сервера Apache2 httpd.conf

nano /etc/httpd/conf/httpd.conf

В секции, где описан пользователь user, нужно добавить такую строчку:

SetEnv PHP_INI_SCAN_DIR /usr/local/directadmin/data/users/user/php/

В случае, если вы хотите, что бы пользователь мог самостоятельно редактировать файл php.ini, Вам необходимо его разместить в папке public_html и в соответствии с её расположением модифицировать путь к файлу в файле httpd.conf.

Перезапуск Apache

Для применения настроек необходим перезапуск Apache:

service httpd restart

Также есть возможность перечитать директивы без перезапуска веб-сервера:

service httpd reload

WHM/cPanel

  1. Войти в WHM (администраторская часть cPanel)
  2. Перейти в раздел Main -> Server Configuration -> Tweak Settings, выбрать вкладку PHP.
  3. cPanel PHP max POST size и cPanel PHP max upload size выставить на необходимые значения
  4. Нажать “Save” внизу страницы.

Максимальный размер загружаемого файла PHP в WHM

Webuzo

1. Необходимо зайти в раздел Enduser Panel и перейти в меню Configuration > PHP.

Меню Configuration в Webuzo

2. Редактируем значения параметров post_max_size и upload_max_filesize, после чего сохраняем изменения, нажав кнопку «Save».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://kapelnicza.vyvod-iz-zapoya-v-stacionare-samara12.ru/