Статьи

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

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

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

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

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

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

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

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

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

1
2
3
<?php
phpinfo();
?>

Загрузите этот файл в свой браузер, и вы должны увидеть вывод 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. Фактически, когда вы открываете файл php.ini , вы можете быть поражены количеством директив, которые он предоставляет. Я постараюсь сгруппировать их по их поведению и надеюсь, что вам будет легко понять.

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

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

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

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

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

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

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

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

Это логическая директива, которая позволяет разрешать загрузку файлов HTTP. Если вы установите значение « On , Вы можете использовать поле «Файл» в своих формах, и пользователи смогут загружать файлы со своего компьютера. С другой стороны, если вы установите для этого параметра значение Off , Загрузка файлов будет полностью отключена.

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

По умолчанию установлено значение 2 МБ, поэтому пользователи не могут загружать файлы размером более 2 МБ. Вы можете настроить это значение в соответствии с вашими требованиями — часто вы хотите увеличить это ограничение, чтобы разрешить загрузку больших файлов.

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

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

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

Директива allow_url_fopen по умолчанию отключена. Но когда он включен, он позволяет удаленно включать файлы в функции файлов PHP. Это означает, что ваши PHP-файлы могут содержать код с других серверов. Будьте осторожны при включении этого — если ваш код подвергается атаке с помощью инъекций, удаленное включение файлов значительно облегчит злоумышленнику взлом вашего сервера.

Директива allow_url_include аналогична директиве allow_url_fopen , но позволяет включить удаленное включение файлов в функции include . Он позволяет включать удаленные файлы в функции include , include_once , require и require_once .

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

Управление сессиями является одним из наиболее важных аспектов при работе с PHP. В этом разделе мы рассмотрим пару важных директив сессии.

Директива session.name позволяет вам установить имя cookie сессии. По умолчанию он имеет значение PHPSESSID , но вы можете изменить его на что-то другое, используя эту директиву.

Если вы установите значение директивы session.auto_start равным 1 , сессионный модуль в PHP запускает сессию автоматически при каждом запросе, и, таким образом, вам не нужно использовать функцию session_start в ваших скриптах.

Директива session.cookie_lifetime позволяет вам установить время жизни куки сессии. По умолчанию установлено значение 0 секунд, и это означает, что cookie сеанса удаляется при закрытии браузера. Это действительно полезная настройка, которая позволяет вам настроить функцию «помни меня», позволяя пользователям выбирать, где они остановились на вашем сайте.

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

Директива memory_limit позволяет вам ограничить максимальный объем памяти, который скрипту разрешено использовать.

Вы хотите точно настроить эту директиву в соответствии с вашими требованиями, и вам не следует устанавливать ее слишком высоко, чтобы избежать перебоев с памятью на вашем сервере — плохо написанные или с ошибками скрипты могут поглотить всю память на вашем сервере, если вы позволите им!

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

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

Директива max_input_time позволяет установить максимальное время, в течение которого скрипту разрешается анализировать входящие данные формы из GET или POST.

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

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

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

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

Вот несколько самых продаваемых и новых PHP-скриптов, доступных в CodeCanyon на 2020 год.

  • PHP
    14 лучших PHP-событий и сценариев бронирования
    Кайл Слока-Фрей
  • PHP
    8 лучших скриптов PHP URL Shortener
    Эрик Дай
  • PHP
    12 лучших контактных форм PHP-скриптов
    Нона Блэкман
  • PHP
    Сравнение 5 лучших PHP Form Builders
    Нона Блэкман
  • PHP
    Создавайте красивые формы с помощью PHP Form Builder
    Ашраф Хатхибелагал