php свой php ini

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

В статье мы рассмотрим основные директивы, которые могут пригодиться, чтобы настроить php.ini.

php.ini — это конфигурационный файл PHP. Синтаксис настроек этого файла прост:

Параметры чувствительны к регистру. Строки, которые начинаются с точки с запятой (;), игнорируются.

Обратите внимание! Чтобы избежать ошибок, не добавляйте новые строки. Ищите уже существующие и изменяйте значения на нужные.

Директивы для настройки использования ресурсов

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

Время выполнения скрипта. По умолчанию максимальное время выполнения скрипта ― 30 секунд. Чтобы установить другое, введите:

Где 60 ― количество секунд выполнения скрипта.

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

Максимальное время (в секундах), которое может потратить скрипт для обработки загружаемых данных. Для этого используйте директиву:

Объём памяти для одного скрипта (в МБ). Чтобы установить максимальный размер памяти, который может использовать один скрипт, введите:

Где 128 ― максимальный объём памяти в MБ.

Максимальный объём памяти, который может использовать один скрипт во время своего выполнения. Чтобы настроить, введите:

Где 128 ― объём памяти в МБ.

Максимальное количество переменных в GET и POST. Для этого введите директиву:

Где 1000 ― количество переменных.

Максимальный размер данных, который передаётся в POST-запросе. По умолчанию выставлен параметр ― 8 МБ. Чтобы его изменить, введите:

Где 9 ― максимальное количество МБ.

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

Где /var/www/ ― ограничивающая папка.

Директивы для вывода ошибок

По умолчанию во время выполнения скрипта функция вывода ошибок на экран отключена. Поэтому, чтобы выводить сообщения об ошибках вместе с остальным выводом PHP-скрипта, включите опцию display_errors. Для этого введите:

В PHP есть разные виды ошибок: критические, ошибки синтаксиса и другие. Можно включить вывод только важных для вас типов ошибок. Для этого введите:

Чтобы объединить несколько типов ошибок, используйте символ &. Например:

Чтобы включить запись PHP-ошибок в лог, введите:

Если есть повторяющиеся ошибки в рамках одного исполнения, их можно игнорировать. Для этого введите:

Директивы для загрузки файлов

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

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

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

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

Директивы для обработки данных

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

Где GEPSC ― нужная вам последовательность.

Чтобы разрешить или запретить создание переменных argv и argc на основе информации, полученной методом GET, введите:

Чтобы включить или отключить автоматическую обработку кавычек и апострофов в GET, POST и Cookie, введите:

Источник

Настройка PHP на хостинге через файл php.ini

php свой php ini. Смотреть фото php свой php ini. Смотреть картинку php свой php ini. Картинка про php свой php ini. Фото php свой php iniЯ, конечно, не супер специалист во всяких делах, которые касаются настройки веб серверов, apache, php и всего прочего, поэтому так до сих пор и не завел себе отдельный сервак для проектов. Тем не менее, иногда в работе попадаются ситуации, когда приходится все же влезать в дебри и нюансы настроек – сегодня будет пост об одной из них. Предыстория достаточно тривиальная: занимался разработкой сайта на typo3 и там для работы с изображениями необходимо установить ImageMagick. Обращаюсь, значит к хостеру, они поставили, а оно почему-то все равно не работает. Потом нахожу запрещенную функцию exec, которая как раз для работы ImageMagick нужна – опять обращаюсь к хостеру. А тут еще сложная процедура общения, где я сначала пишу письмо в админке хостера, на него отвечают на почту клиенту и только потом я могу прочитать послание:)

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

Итак, php.ini – это файл настроек и конфигурации PHP. В нем находится ряд директив, которые определяют различное поведение PHP, ну и, следовательно, сайта. Название файла должно быть именно таким, чтобы интерпретатор смог его найти. В интернете пишут, что он сначала ищет файл настроек php.ini в текущем каталоге, если его нет, то переходит в директорию, указанную в переменной окружения PHPRC, и в последнюю очередь проверят пусть, который задан при компиляции PHP. Как-то так, информация интересная, но больше теоретическая:)

Вернемся к реальным примерам. При работе с разными хостерами можно сказать у меня было несколько вариантов и нюансов настройки PHP.

1. Если в качестве админки используется cPanel, то там находим раздел «Конфигурация PHP», где опубликован перечень параметров PHP для хостинга. Иногда там можно поменять версию PHP, если сервер позволяет работать с 4 и 5 версиями.

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

Возможно, cPanel и предоставляет варианты изменения настроек PHP (кроме версии), но мне пока такое не попадалось. Поэтому чаще всего я прибегал ко второму варианту.

2. Вполне логично для пользователя, который не очень во всем этом разбирается попросить помощи у хостера. Иногда это является единственным возможным решениям. Тут, видимо, многое зависит от конфигурации и принципов работы сервиса у разным компания – одни дают пользователям больше свободы, другие, наоборот, стараются контролировать все настройки.

3. Некоторые хостеры доверяют своим клиентам настолько, что позволяют использовать свои настройки в php.ini на серверах. Как я понимаю, ряд настроек PHP устанавливается по умолчанию, но местами возникают ситуации, когда для тех или иных систем, скриптов может понадобится дополнительная функциональность – как, например, в моем случае с функцией exec или когда речь идет о wordpress можно вспомнить переменную memory_limit.

На одном из хостеров, с которым работаю, нашел инструкцию как же все-таки можно переопределить некоторые настройки php.ini под свои нужды:

Далее создаем файл в папке /cgi-bin/php5.fcgi

Здесь /home/support/php.ini путь к вашему php.ini (конечно сам файл php.ini нужно будет там создать, убедитесь в правильности пути). После этого назначаем файлу php5.fcgi права 755 (chmod 755 php5.fcgi). Теперь обработка настроек PHP будет производится с учетом вашего файла php.ini.

К этой инструкции есть 2 уточнения. При создании файла php5.fcgi нужно использовать unix переводы строк т.е. n. И если возникает 500 ошибка, проверьте лог файл ошибок, где скорее всего найдете в чем проблема.

У меня лично работает! Внимание, пусть /home/accname/php/php.ini подставляете свой.

Ну и напоследок 2 настройки php.ini ради которых и пришлось «заморачиваться по полной»:

Источник

Все о файле php.ini

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

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

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

Как настроить php.ini?

Файл php.ini имеет такие правила синтаксиса «директива = значение». Если вы хотите добавлять комментарии (например, в которых указываете на что влияет данная настройка), то делайте после точки с запятой (все, что идет после этого знака не учитывается как команда). Вот пример:

max_execution_time = 40 ; Максимальное кол-во секунд исполнения скрипта

Далее рассматриваем основные настройки, которые можно сделать в файле php.ini:

Общие настройки

PHPengine = On ; Работа PHP-скриптов включена.

short_open_tag = On ; Разрешает упрощенно обрамлять PHP-код тагами

Precision = 12 ; Указывает сколько цифр будет после запятой, у чисел с плавающей точкой.

output_buffering = 4096 ; Автоматически будет включена буферизация вывода, с размером буфера указанным после «равно».

safe_mode = On ; Безопасный режим.

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

safe_mode_protected_env_vars = LD_LIBRARY_PATH ; Запрещает изменять переменные, которые перечисляются через запятую.

disable_functions = ; После знака «равно» нужно через запятую записать функции, которые вы хотите отключить (обычно это делается для безопасности)

disable_classes = ; После знака «равно» нужно через запятую записать классы, вызов которых вы хотите запретить (обычно это делается для безопасности)

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

max_execution_time = 40 ; Максимальное время на выполнение скрипта (в секундах)

max_input_time = 40 ; Максимальное время в секундах, которое дается скрипту может на обработку данных, которые загружаются.

memory_limit = 16M ; Максимум памяти, которые выделяется для работы одного скрипта

Обработка ошибок и журналы

error_reporting = E_ALL | E_ERROR | E_WARNING | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE ; Указывает перечень ошибок, которые можно выводить.

display_errors = On; Разрешает выводить ошибки прямо в браузер (часто используют для удобства отладки).

display_startup_errors = On ; Ошибки появляющиеся при страрте PHP разрешено показывать.

log_errors = On ; Ошибки разрешено записывать в файл журнала.

log_errors_max_len = 1024 ; Максимальное число символов, которое может составлять длинна журнала.

html_errors = On ; Разрешен вывод сообщений об ошибках в HTML.

error_log = filename ; Задается имя журнала ошибок.

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

register_globals = On ; Включает возможность для обращения к переменным, которые поступают через GET/POST/Cookie/сессии, как к обычным переменным (например «$имяпеременной»).

post_max_size = 8M ; Устанавливает максимальный объём данных, который может быть принят.

magic_quotes_gpc = On ; Включает автоматическую обработку кавычек, которые поступают через POST/GET/Cookie.

auto_prepend_file = ; Содержимое файлов, указанных в этих директивах, PHP должен обрабатывать соответственно ДО выполнения сценария
auto_append_file = ; Содержимое файлов, указанных в этих директивах, PHP должен обрабатывать соответственно ПОСЛЕ выполнения сценария.

default_mimetype = «text/html» ; Задает кодировку для Content-type. По умолчанию будет использовано text/html без указания кодировки

doc_root = ; Задается корневая папка для PHP-сценариев.

extension_dir = «./» ; Задается папка, в которой будут хранится динамически загружаемые расширения.

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

file_uploads = On ; Загрузка файлов на сервер разрешена.

upload_tmp_dir = ; Временная директория для файлов, которые загружаются.

upload_max_filesize = 2M ; Устанавливает максимальный размер файла, который можно загрузить.

Работа с сокетами

user_agent=»PHP» ; Задается переменная USER_AGENT, когда происходит подключение через сокет.

default_socket_timeout = 30 ; Максимальное время на прослушивание сокета (секунды).

Сессии

session.save_handler = files ; Уазывает, что информацию о сессиях нужно хранить в файлах

session.save_path = /tmp ; После знака «равно» нужно указать путь к папке в которой будет храниться информация о сессиях (важно чтобы она папка уже существовала)

session.use_cookies = 1 ; Разрешает использование cookie в сессиях

session.auto_start = 0 ; Запрещает инициализировать сессии при начале соединения

session.use_trans_sid = 1 ; Если пользователь отключил cookie, то во всех ссылках будет добавлен ID сессии

Динамические расширения

Работа с модулями MySQL

mysql.allow_persistent = On ; Разрешает устойчивые MySQL-соединения.

mysql.default_port = ; Порт для функции mysql_connect.

mysql.default_socket = ; Имя сокета для локальных соединений MySQL.

mysql.default_host = ; Имя хоста для функции mysql_connect.

mysql.default_user = ; Имя пользователя.

Если вы создали собственный файл php.ini и поместили его в папке сайта

Источник

Php свой 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 не будет опубликован. Обязательные поля помечены *