php ini как настроить

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

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

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

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

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

php ini как настроить. Смотреть фото php ini как настроить. Смотреть картинку php ini как настроить. Картинка про php ini как настроить. Фото php ini как настроить

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

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

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

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

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

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

sudo gedit /etc/php5/apache/php.ini

php ini как настроить. Смотреть фото php ini как настроить. Смотреть картинку php ini как настроить. Картинка про php ini как настроить. Фото php ini как настроить

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

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

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

php ini как настроить. Смотреть фото php ini как настроить. Смотреть картинку php ini как настроить. Картинка про php ini как настроить. Фото php ini как настроить

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

Если нужно объединить несколько типов ошибок, то используйте символ &, а для отключения отображения поставьте перед типом знак

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

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

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

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

php ini как настроить. Смотреть фото php ini как настроить. Смотреть картинку php ini как настроить. Картинка про php ini как настроить. Фото php ini как настроить

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

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

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

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

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

php ini как настроить. Смотреть фото php ini как настроить. Смотреть картинку php ini как настроить. Картинка про php ini как настроить. Фото php ini как настроить

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

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

php ini как настроить. Смотреть фото php ini как настроить. Смотреть картинку php ini как настроить. Картинка про php ini как настроить. Фото php ini как настроить

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

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

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

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

php ini как настроить. Смотреть фото php ini как настроить. Смотреть картинку php ini как настроить. Картинка про php ini как настроить. Фото php ini как настроить

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

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

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

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

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

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

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

extension=php_mysql.so
extension=php_mbstring.so
extension=php_pgsql.so

php ini как настроить. Смотреть фото php ini как настроить. Смотреть картинку php ini как настроить. Картинка про php ini как настроить. Фото php ini как настроить

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

Выводы

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

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

Источник

Изменения конфигурации PHP с помощью php.ini и phpinfo()

phpinfo(): получить информацию о PHP

Функция phpinfo() проста в использовании. Создайте PHP-файл на своем сервере и разместите в нем вызов этой функции:

Затем заходите на эту страницу через браузер. И все.

Много информации

php ini как настроить. Смотреть фото php ini как настроить. Смотреть картинку php ini как настроить. Картинка про php ini как настроить. Фото php ini как настроить

Настройка PHP: Как работает php.ini

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

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

Значения параметров конфигурации PHP, полезные для WordPress разработчиков

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

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

php ini как настроить. Смотреть фото php ini как настроить. Смотреть картинку php ini как настроить. Картинка про php ini как настроить. Фото php ini как настроить

Открытие без sudo приводит к выводу предупреждения о запрете на запись и невозможности сохранить изменения
Для редактирования nano — лучший текстовый редактор. Все его горячие сочетания клавиш прописаны на экране. Поэтому я часто редактирую файл php.ini на удаленном сервере с помощью команды:

Конфигурация с помощью php.ini и phpinfo()

Пожалуйста, опубликуйте ваши комментарии по текущей теме статьи. За комментарии, дизлайки, отклики, подписки, лайки огромное вам спасибо!

Источник

Как изменить параметры PHP

Как установить PHP на хостинг

Поддержка PHP присутствует на всех тарифных планах Hosting Linux и Hosting Windows, кроме тарифов Host-Lite и Win-Lite. Если у вас один из этих тарифов, повысьте тарифный план, чтобы включить поддержку PHP.

Как изменить параметры PHP

Для каждой версии PHP можно установить свои параметры. Инструкция для изменения параметров PHP подходит, только если у вас есть услуга хостинга Linux. Можно ли сменить те или иные параметры PHP на хостинге Windows, вы можете уточнить в службе техподдержки. Вы можете попробовать бесплатный хостинг для сайтов HTML с поддержкой PHP и MySQL в течение 14 дней тестового периода.

Чтобы изменить настройки PHP, нужно установить на файл php.ini права 600 (rw——-) или 644 (rw-r—r—) и затем внести в него изменения.

Чтобы установить права и внести изменения, следуйте инструкции для вашей хостинг-панели:

Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, кликните в левом нижнем углу «Старый интерфейс».

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

В разделе «Файлы» нажмите Диспетчер файлов. Перейдите в каталог php-bin/имя-домена. Измените права файла php.ini на 0600 или 0644. Нажмите Save:

Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».

В разделе «Файлы» перейдите в каталог etc/имя-домена. Измените права файла php.ini: в строке «Владелец» поставьте чекбоксы Чтение и Запись, в строках «Группа» и «Остальные» поставьте чекбокс Чтение. Нажмите Применить:

Готово, изменения вступят в силу в течение минуты.

Примеры изменений настроек PHP

Основные директивы для настройки файла php.ini описаны в статье Настройка файла php.ini.

Чтобы предотвратить ситуацию, когда скрипт с плохим синтаксисом занимает всю доступную память сервера, нужно настроить директиву memory_limit. Она задаёт максимально допустимый объём памяти в байтах, который разрешается использовать скрипту. Некоторые CMS и плагины требуют установки определённого значения memory_limit.

Обратите внимание: на виртуальном хостинге есть технические ограничения на максимальный размер оперативной памяти на один процесс. Ограничения для каждого тарифа приведены на странице Технические характеристики хостинга.

Если данного порога вам не хватает, вы можете:

Чтобы предотвратить торможение сервера из-за скриптов с плохим синтаксисом, нужно настроить директиву max_execution_time. Она задаёт максимальное время в секундах, в течение которого скрипт должен полностью загрузиться. Если скрипт не загружается, анализатор синтаксиса завершает работу скрипта.

С помощью директивы upload_max_filesize вы можете увеличить максимальный размер закачиваемого файла. На виртуальном хостинге можно загружать файлы размером до 256 МБ.

Если вам требуется загрузить файл размером более 256 МБ:

Директива max_input_vars задаёт количество входных переменных, которое может быть принято в одном запросе. Использование этой директивы снижает вероятность сбоев в случае атак.

При обновлении Bitrix можно столкнуться с проблемой: «Для обновления продукта необходимо удалить настройку PHP mbstring.func_overload. Пожалуйста, внесите необходимые изменения или обратитесь в службу технической поддержки вашего хостинга».

Решить эту проблему можно удалением параметра mbstring.func_overload. Как это сделать читайте в статье Как удалить настройку PHP mbstring.func_overload.

В версиях Bitrix версии 20.100.0 и ниже может возникнуть ошибка, которая связана с неправильными настройками параметров mbstring.func_overload и mbstring.internal_encoding.

Как решить эту проблему читайте в статье Ошибка PHP mbstring.internal_encoding.

Как включить обработку PHP в HTML

На хостинге Linux

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

Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, кликните в левом нижнем углу «Старый интерфейс».

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

domain.ru — доменное имя вашего сайта;

u1234567 — логин вашего хостинга. Узнать его можно по инструкции.

php73 — ваша версия PHP. Узнать её можно по инструкции;

u1234567 — логин вашего хостинга. Узнать его можно по инструкции.

Создайте файл с названием .htaccess или откройте его, если файл уже существует. Добавьте в файл следующие строки:

domain.ru — доменное имя вашего сайта;

u1234567 — логин вашего хостинга. Узнать его можно по инструкции.

Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».

Создайте файл с названием .htaccess или откройте его, если файл уже существует. Добавьте в файл следующие строки:

Если данное решение не работает, добавьте другие строки:

Источник

Где находится php.ini, файл конфигурации PHP?

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

Если вы новичок в PHP или опытный разработчик, я уверен, что вы слышали о php.ini : самом важном файле конфигурации PHP.

Однако файл php.ini содержит несколько важных настроек, с которыми вы хотите ознакомиться. На самом деле, как разработчик PHP, это неизбежно, и вы столкнетесь с этим раньше, чем позже.

Где находится php.ini?

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

php ini как настроить. Смотреть фото php ini как настроить. Смотреть картинку php ini как настроить. Картинка про php ini как настроить. Фото php ini как настроить

С другой стороны, если вы используете программное обеспечение, такое как WAMP или XAMPP, для запуска стека веб-разработки, вам еще проще изменить файл php.ini — вы можете напрямую получить к нему доступ через пользовательский интерфейс WAMP или XAMPP.

Важные настройки в php.ini

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

Директивы по обработке ошибок

В этом разделе мы рассмотрим директивы, связанные с обработкой ошибок и полезные для отладки во время разработки.

display_errors

Директива display_errors позволяет вам контролировать, будут ли отображаться ошибки на экране во время выполнения скрипта. Вы можете установить его на On если вы хотите, чтобы ошибки отображались на экране, и Off если вы хотите отключить его. Важно, чтобы вы никогда не включали это на рабочем сайте — это замедлит работу вашего сайта и может дать хакерам ценные подсказки к уязвимостям безопасности вашего сайта.

error_reporting

Вы можете установить его на E_ALL если хотите отображать все типы ошибок, такие как фатальные ошибки, предупреждения, устаревшие функции и т. Д. Вы также можете комбинировать различные значения, если вы хотите отфильтровать конкретные ошибки. Например, если вы хотите отобразить все ошибки, кроме уведомлений, вы можете установить для него значение E_ALL &

Источник

Php ini как настроить

Представленные здесь значения по умолчанию используются в случае, если не был подключён php.ini ; значения для боевого php.ini и для разработки могут различаться.

Языковые опции

Опции языка и прочих настроек

ИмяПо умолчаниюМесто измененияСписок изменений
short_open_tag«1»PHP_INI_PERDIR
precision«14»PHP_INI_ALL
serialize_precision«-1»PHP_INI_ALLДо версии PHP 7.1.0 значение по умолчанию было равно 17.
disable_functions«»Только PHP_INI_SYSTEM
disable_classes«»Только php.ini
exit_on_timeout«»PHP_INI_ALL
expose_php«1»Только php.ini
hard_timeout«2»PHP_INI_SYSTEMДоступна с версии PHP 7.1.0.
zend.exception_ignore_args«0»PHP_INI_ALLДоступна с версии PHP 7.4.0
zend.multibyte«0»PHP_INI_ALL
zend.script_encodingNULLPHP_INI_ALL
zend.detect_unicodeNULLPHP_INI_ALL
zend.signal_check«0»PHP_INI_SYSTEM
zend.assertions«1»PHP_INI_ALL с ограничениями

Краткое разъяснение конфигурационных директив.

Выдаёт факт присутствия PHP на сервере, включая передачу версии PHP в HTTP-заголовке (например, X-Powered-By: PHP/5.3.7).

Эта директива позволяет отключить некоторые функции. Она принимает список имён функций, разделённый запятыми.

Только внутренние функции могут быть отключены с помощью этой директивы. Пользовательские функции ей не подвержены.

Если процесс стартован в режиме релиза, zend.assertions не может быть изменён во время выполнения, так как код утверждений не генерируется.

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

Когда PHP останавливается после жёсткого времени ожидания, это будет выглядеть примерно так:

Исключает аргументы из трассировки стека, сгенерированных из исключений.

Разрешает парсинг исходных файлов в многобайтных кодировках. Включение zend.multibyte требуется для использования кодировок символов подобных SJIS, BIG5 и т.д., содержащих специальные символы в многобайтных строковых данных. Совместимые с ISO-8859-1 кодировки, например UTF-8, EUC и т.д., не требуют эту опцию.

Модуль zend.multibyte требует установленного модуля «mbstring».

Данное значение будет использовано, только при отсутствии директивы declare(encoding=. ) в начале скрипта. При использовании кодировок несовместимых с ISO-8859-1, нужно использовать опции и zend.multibyte и zend.script_encoding.

Определяет, нужно ли проверять заменённые обработчики сигналов при завершении скрипта.

Эта директива только для Apache1 mod_php, которая заставляет потомка Apache завершиться, если произошёл тайм-аут исполнения скрипта PHP. Такой тайм-аут приводит к внутреннему вызову longjmp() в Apache1, который оставляет некоторые модули в несогласованном состоянии. По завершении процесса все неснятые блокировки или память будут очищены.

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

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

ИмяПо умолчаниюМесто измененияСписок изменений
memory_limit«128M»PHP_INI_ALL

Краткое разъяснение конфигурационных директив.

Настройка производительности

Настройка производительности

ИмяПо умолчаниюМесто измененияСписок изменений
realpath_cache_size«4M»PHP_INI_SYSTEMДо PHP 7.0.16 и 7.1.2, по умолчанию было «16K»
realpath_cache_ttl«120»PHP_INI_SYSTEM

Использование open_basedir отключит кеш realpath.

Краткое разъяснение конфигурационных директив.

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

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

Размер, необходимый для кеширования, зависит от системы.

Время (в секундах) в течение которого будет использован кеш realpath для указанного файла или директории. Для систем с редко меняющимися файлами это значение можно увеличить.

Обработка данных

Конфигурационные опции обработки данных

ИмяПо умолчаниюМесто измененияСписок изменений
arg_separator.output«&»PHP_INI_ALL
arg_separator.input«&»PHP_INI_PERDIR
variables_order«EGPCS»PHP_INI_PERDIR
request_order«»PHP_INI_PERDIR
auto_globals_jit«1»PHP_INI_PERDIR
register_argc_argv«1»PHP_INI_PERDIR
enable_post_data_reading«1»PHP_INI_PERDIR
post_max_size«8M»PHP_INI_PERDIR
auto_prepend_fileNULLPHP_INI_PERDIR
auto_append_fileNULLPHP_INI_PERDIR
default_mimetype«text/html»PHP_INI_ALL
default_charset«UTF-8»PHP_INI_ALL
input_encoding«»PHP_INI_ALL
output_encoding«»PHP_INI_ALL
internal_encoding«»PHP_INI_ALL

Краткое разъяснение конфигурационных директив.

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

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

Каждый символ в этой директиве считается разделителем!

Эта директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST. Добавление производится слева направо, новые значения перезаписывают старые.

Когда включено, переменные SERVER, REQUEST и ENV создаются в тот момент, когда они впервые используются (Just In Time), а не в начале выполнения скрипта. Если эти переменные в скрипте не используются, включение этой директивы приведёт к росту производительности.

Использование переменных SERVER, REQUEST и ENV проверяется на стадии компиляции, поэтому их использование с помощью, например, переменных переменных не запустит их инициализацию.

Источник

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

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