Php ini настройка для windows

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

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

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

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

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

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

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

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

PHP имеет ряд настраиваемых параметров. Он также имеет расширения или « плагины », которые имеют отдельные параметры. Большинство из них содержится в « конфигурационных файлах » с расширениями .ini . Википедия сообщает нам, что префикс был получен от сокращенной версии “initialization” . В любом случае эта конвенция распространяется и на PHP .

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

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

Все, что размещено в php.ini после точки с запятой ( ; ), не обрабатывается, а рассматривается как комментарий. Объявления, похожие на строку memory_limit , закомментированы. Если значение не указано, удалено или закомментировано, то PHP использует значение по умолчанию.

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

Лично мне регулярно приходится сталкиваться со значениями php info файла для max_execution_time , memory_limit , upload_max_filesize и post_max_size . Существуют сотни значений, которые устанавливаются в файле php.ini и файлах различных расширений, с которыми работает PHP . Но только с этими четырьмя параметрами мне регулярно приходится иметь дело. Краткое описание каждого из них:

  • max_execution_time — определяет, как долго PHP-скрипт будет исполняться до того, как он будет принудительно остановлен. По умолчанию, это примерно 30 секунд, поэтому один плохой скрипт не может заблокировать весь сервер. Я увеличиваю это значение, чтобы скрипты могли выполняться немного дольше тридцати секунд. Просто имейте в виду, что при этом увеличивается риск случайного или злонамеренно запуска продолжительного скрипта;
  • memory_limit – с помощью этого параметра php info file можно разрешить процессу потреблять больше памяти сервера. Это опасно, если один из запросов пользователей начинает использовать больше ресурсов, чем следует. Но это бывает полезно при использовании специализированных плагинов для кэширования страниц;
  • upload_max_filesize и post_max_size настолько похожи, что я объединил их в один пункт. Если необходимо обеспечить возможность принимать файлы размером в сотни мегабайт, вам придется повозиться с этими значениями. Увеличение этих значений может повысить потребление ресурсов сервера. post_max_size влияет на общий допустимый размер HTTP-запроса POST , а upload_max_filesize – на максимальный размер любого отдельного файла, который должен принять PHP . Мне часто приходится менять значение этих параметров, чтобы разрешить отправку большого файла в одном POST-запросе . Я всегда задаю для них одинаковые значения.
Читайте также:  After effect download windows

PHP 7 – настройка файла PHP.INI

Конфигурационный файл php.ini является основным инструментом настройки ядра PHP . Он считается каждый раз при инициализации PHP . Если изменение не отображается, не забудьте остановить и перезапустить httpd . Если внесенные изменения до сих пор действуют, используйте функцию phpinfo() , чтобы проверить, php ini где лежит.

Файл конфигурации хорошо прокомментирован и подробно проработан. Параметры чувствительны к регистру, значения ключевых слов – нет; пробелы и строки, начинающиеся с точки с запятой, игнорируются. Логические значения могут быть представлены как 1/0 , Yes/No , On/Off или True/False . Значения по умолчанию в php.ini повлияют на установку PHP , которую позже можно будет настроить.

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

short_open_tag = Off

Короткие открытые теги выглядят так: . Для этого параметра должно быть установлено значение Off , если вы хотите использовать функции обработки XML .

safe_mode = Off

Если этот параметр имеет значение ON , вероятно, вы скомпилировали PHP с флагом enable-safe-mode . Безопасный режим наиболее важен для использования CGI .

safe_mode_exec_dir = [DIR]

Эта опция имеет значение только в том случае, если включен безопасный режим. Она также может быть установлена с флагом —with-exec-dir во время процесса сборки Unix . PHP в безопасном режиме выполняет внешние двоичные файлы только из этого каталога. По умолчанию используется каталог /usr/local/bin . Это не имеет ничего общего с обслуживанием обычной PHP/HTML веб-страницы.

safe_mode_allowed_env_vars = [PHP_]

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

safe_mode_protected_env_vars = [LD_LIBRARY_PATH]

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

disable_functions = [function1, function2…]

Довольно полезным дополнением в конфигурации PHP4 , которое сохранилось и в версии PHP5 , является возможность отключения выбранных функций по соображениям безопасности. Раньше это требовало ручной правки кода на языке C , на котором был написан интерпретатор PHP . Функции файловой системы, операционной системы и сети должны быть первыми в этом списке, потому что возможность записи файлов и изменения системы через HTTP не является безопасным.

max_execution_time = 30

При настройке php ini нужно знать, что функция set_time_limit() не будет работать в безопасном режиме. Поэтому это основной способ реализовать задержку выполнения скрипта в безопасном режиме. В Windows вы должны выполнить принудительное завершение, основываясь на максимальном уровне потребляемой памяти, а не на времени. Также можно использовать настройку таймаута Apache для реализации задержки. Но она будет применена и к файлам сайта, не являющимся PHP .

error_reporting = E_ALL &

Значением по умолчанию является E_ALL &

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

error_prepend_string = [«»]

Вместе с error_append_string этот параметр позволяет выделить сообщения об ошибках другим цветом.

warn_plus_overloading = Off

Этот параметр выдает предупреждение, если оператор « + » используется со строками, как при формировании значения поля формы.

variables_order = EGPCS

Заменяет gpc_order . Обе версии устарели вместе с register_globals . Он устанавливает порядок различных переменных: Environment , GET , POST , COOKIE и SERVER ( или Built-in ). Вы можете изменить этот порядок. Переменные будут последовательно перезаписаны слева направо, при этом самый правый всегда « выигрывает ». Это означает, что если оставить значение по умолчанию и использовать одно имя для переменной среды, переменной POST и переменной COOKIE , то, в конце концов, имя будет принадлежать переменной COOKIE .

register_globals = Off

Этот параметр php ini set позволяет определить, нужно ли регистрировать переменные EGPCS как глобальные. В настоящее время этот способ устарел, и, начиная с PHP 4.2 , этот флаг по умолчанию установлен в значение Off . Вместо него используйте суперглобальные массивы.

Читайте также:  Documents library windows store

gpc_order = GPC

Этот параметр устарел.

magic_quotes_gpc = On

Экранирует кавычки во входящих данных GET/POST/COOKIE . Если вы используете много форм, которые отправляют данные сами себе или другим формам, и отображают значения форм, нужно активировать эту директиву или использовать функции addslashes() для данных строкового типа.

magic_quotes_runtime = Off

Этот параметр экранирует кавычки во входящих строках базы данных и текстовых строках. Помните, что SQL добавляет слеш в одинарные кавычки и апострофы при сохранении строк и не убирает их при возвращении строк. Если этот параметр выключен, необходимо использовать функцию stripslashes() при выводе любых типов строковых данных из БД SQL . Если для magic_quotes_sybase установлено значение On , то этот параметр должен быть Off .

magic_quotes_sybase = Off

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

auto-prepend-file = [path/to/file]

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

auto-append-file = [path/to/file]

Если в этом параметре указан путь, PHP должен автоматически ввести конструкцию include() в конец каждого PHP-файла , кроме случаев, когда осуществляется выход с помощью функции exit () . Следует учитывать ограничения для путей включаемых файлов.

include_path = [DIR]

Если установить это значение, вам будет разрешено включать или запрашивать файлы только из указанных каталогов. Каталог include обычно находится под корневым документом. Это необходимо, если вы работаете в безопасном режиме. Установите для параметра значение .in , чтобы включить файлы из каталога, в котором находится ваш скрипт. Несколько каталогов разделяются двоеточиями: .:/usr/local/apache/htdocs:/usr/local/lib .

doc_root = [DIR]

При настройке php ini если вы используете Apache , то в файле httpd.conf корневой каталог документа для этого сервера или виртуального хоста уже задан. Установите это значение здесь, если используете безопасный режим или хотите разрешить PHP только для части сайта ( например, только в одном подкаталоге ).

file_uploads = [on/off]

Активируйте этот флаг, если загружаете файлы с помощью PHP-скрипта .

upload_tmp_dir = [DIR]

Не удаляйте комментарии из этой строки, если не понимаете, что такое HTTP-загрузка !

session.save-handler = files

За исключением редких случаев изменять этот параметр не нужно.

ignore_user_abort = [On/Off]

Определяет, что произойдет, если посетитель сайта нажмет в своем браузере кнопку « Остановить ». По умолчанию установлено значение On , которое означает, что скрипт продолжит работать до завершения или таймаута. Если изменить значение данного параметра на Off , скрипт будет прерван. Этот параметр работает только в режиме модуля, а не в CGI .

mysql.default_host = hostname

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

mysql.default_user = username

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

mysql.default_password = password

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

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

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

Что такое php.ini ?

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

Когда PHP запускается, он ищет файл php.ini в некоторых определенных местах и ​​загружает его. Этот файл позволяет вам настроить несколько важных параметров, о которых вы должны знать. Довольно часто вы обнаружите, что вам нужно настроить параметры в файле php.ini .

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

Читайте также:  Приложение которое исправляет ошибки windows 10

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

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

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

Здесь на phpinfo() приходит функция phpinfo() . Он скажет вам, где находится php.ini , а также выведет всю важную информацию о конфигурации PHP.

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

Загрузите этот файл в свой браузер, и вы должны увидеть вывод phpinfo() . Посмотрите на следующий раздел.

Как видите, есть два раздела. Первый, путь к файлу конфигурации (php.ini) , указывает путь по умолчанию для файла php.ini в вашей системе. И второй, Loaded Configuration File , — это путь, из которого загружается файл php.ini при запуске PHP.

Таким образом, вы можете редактировать файл php.ini, указанный в разделе « Загруженный файл конфигурации », и это должно работать в большинстве случаев. Конечно, если вы используете PHP как модуль Apache, вам необходимо перезапустить сервер Apache, чтобы убедиться, что изменения, внесенные вами в файл php.ini , отражены.

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

В следующем разделе мы рассмотрим несколько важных настроек в файле php.ini .

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

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

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

  • директивы по обработке ошибок
  • директивы загрузки файлов
  • директивы, связанные с безопасностью
  • директивы сессии
  • разные директивы

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

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

display_errors

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

error_reporting

Эта директива позволяет вам установить уровень сообщения об ошибках. В основном эта директива работает в сочетании с директивой display_errors . Эта директива может принимать E_ALL , E_NOTICE , E_STRICT и E_DEPRECATED .

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

Оцените статью