Php ini, где окна
Обновлено: 21.11.2024
Если вы имеете дело с WordPress, рано или поздно вам придется задать себе этот вопрос. Хотя он и не связан напрямую с WordPress, php.ini является одним из наиболее важных файлов конфигурации на вашем сервере, поскольку он отвечает за настройку установки PHP, и поэтому важен ваш сайт WordPress и знание местоположения php.ini. р>
Наиболее часто вам может потребоваться изменить параметр upload_max_filesize. По умолчанию это 2 Мб, что может быть довольно мало. Другие популярные включают register_globals, safe_mode и max_execution_time. Вы также можете использовать этот файл для включения или отключения расширений вашей установки PHP.
В зависимости от вашей системы и серверной среды существуют разные места и способы поиска местоположения php.ini.
Какое расположение php.ini?
Независимо от того, работаете ли вы на локальном хосте или на работающем сервере, самый простой и проверенный способ найти файл php.ini — создать файл PHP с одной строкой кода и просмотреть результат.< /p>
Вы должны увидеть что-то вроде этого:
Ваш файл php.ini должен находиться либо в разделе «Путь к файлу конфигурации», либо, как в моем случае, в разделе «Загруженный файл конфигурации». Первое расположение используется по умолчанию, второе расположение применяется в случае, если ваша установка PHP используется в качестве модуля.
Другие решения
Если в некоторых случаях создание php-файла и вставка одной строки кода не помогают, существуют другие способы найти php.ini.
Локальный сервер
Если вы работаете локально, поиск php.ini будет зависеть от используемой серверной среды. Давайте быстро пройдемся по некоторым из самых популярных.
Щелкните левой кнопкой мыши на значке вашего сервера WAPM, затем перейдите в раздел PHP -> php.ini. Легкий? Легко.
XAMPP
XAMPP — это немного другой зверь, но его тоже можно без особого труда приручить. Запустите установку XAMPP, щелкните правой кнопкой мыши кнопку «Конфигурация» (перед модулем Apache), и вот он, наш маленький парень:
Линукс
Если вы работаете в Linux, выполните в терминале следующую команду:
Должно получиться что-то вроде этого:
В большинстве случаев php.ini находится в «Загруженном файле конфигурации», но если его там нет, замените строку «Загруженный файл конфигурации» на «Файл конфигурации».
Текущий сервер
Расположение php.ini в основном зависит от используемого вами хостинга, но здесь мы рассмотрим некоторые из наиболее распространенных сценариев.
cPanel
Откройте файловый менеджер и перейдите в корневой каталог. Наш малыш должен сидеть внизу.
Если вы не знаете, как найти корневую папку, просто перейдите на один уровень вверх по основному каталогу public_html.
Общий хостинг
К сожалению, если вы находитесь на виртуальном хостинге, вы не можете получить доступ к файлу php.ini. В качестве обходного пути можно указать необходимые параметры конфигурации в файле .htaccess по следующему шаблону:
Имя здесь представляет собой имя свойства PHP, которое необходимо изменить. То же самое относится и к значению. Например, эта строка изменяет максимальный размер загружаемого файла на 8 Мб:
Перезапустить после изменений
Если вы внесли хотя бы одно изменение в файл php.ini, вам необходимо перезапустить сервер, иначе изменения не будут применены. Если вы используете Linux, напишите следующую команду:
Если вы используете XAMPP, перейдите на главную панель инструментов, нажмите кнопку «Стоп» перед модулем «Apache», а затем снова нажмите кнопку «Пуск».
Заключительные слова
Как видите, найти файл php.ini может быть сложно и в то же время легко. Я попытался охватить наиболее распространенные решения и серверные среды и надеюсь, что это руководство поможет вам наконец найти этот файл. Если вы знаете какие-либо другие способы найти php.ini, поделитесь своими мыслями в комментариях ниже.
Это файл, определяющий работу всех программ, требующих PHP. Он содержит конфигурации по умолчанию и управляет такими важными вещами, как ограничения ресурсов и размер загрузки.
Как уже было сказано ранее, он содержит очень важные настройки для приложений, работающих на PHP. Если вы хотите изменить некоторые из них — вам понадобится php.ini.
Ну, во-первых, вероятно, это будет upload_max_filesize. Значение по умолчанию для него (2 МБ) обычно слишком мало, и владельцы веб-сайтов увеличивают его.Кроме того, есть вероятность, что вы захотите изменить значения register_globals, safe_mode и max_execution_time.
Читать также
Не пропустите эти фавориты всех времен
Мне нравится создавать веб-сайты с нуля, тщательно кодируя их с помощью HTML и CSS. Иногда даже самые лучшие и профессионально созданные шаблоны нуждаются в некоторых хитростях кодирования. А вот и мой аккаунт Quora.
Дополнительные сведения о вашей электронной почте
Подпишитесь на нашу рассылку и получите доступ к эксклюзивному контенту и предложениям, доступным только подписчикам MonsterPost.
В этом руководстве мы собираемся обсудить php.ini — основной файл конфигурации в PHP. С точки зрения новичка, мы обсудим, для чего он предназначен, где его найти и какие важные параметры конфигурации он предоставляет.
Что такое php.ini?
Являетесь ли вы новичком в PHP или опытным разработчиком, я уверен, что вы слышали о php.ini: самом важном файле конфигурации PHP.
При запуске PHP он ищет файл php.ini в определенных местах и загружает его. Этот файл позволяет настроить несколько важных параметров, о которых вам следует знать. Довольно часто вы обнаружите, что вам нужно настроить параметры в файле php.ini.
С другой стороны, вполне возможно, что вам никогда не приходилось изменять php.ini. PHP может успешно работать с настройками, указанными в файле php.ini по умолчанию, поскольку PHP поставляется с этими рекомендуемыми настройками по умолчанию. На самом деле нет критических параметров конфигурации, которые необходимо установить для запуска PHP.
Однако файл php.ini содержит несколько важных настроек, с которыми вам следует ознакомиться. На самом деле, как PHP-разработчик, это неизбежно, и вы столкнетесь с этим раньше, чем позже.
Где находится php.ini?
В этом разделе мы увидим, как найти файл php.ini, который загружается при запуске PHP-скрипта. Это может быть сложно — расположение файла php.ini сильно зависит от среды, в которой вы используете PHP. Если вы используете Windows, вы, скорее всего, найдете файл php.ini в каталоге вашей установки PHP на системном диске. С другой стороны, если вы используете другую операционную систему, то сложно угадать точное расположение файла php.ini — есть несколько возможностей.
Здесь на помощь приходит функция phpinfo(). Он сообщит вам, где находится php.ini, а также выведет всю важную информацию о конфигурации PHP.
Вы можете запустить phpinfo(), создав файл .php и вызвав эту функцию. Создайте файл phpinfo.php со следующим содержимым и поместите его в корень документа:
Загрузите этот файл в свой браузер, и вы должны увидеть вывод phpinfo() . Найдите следующий раздел.
Как видите, здесь два раздела. Первый, Путь к файлу конфигурации (php.ini), указывает путь по умолчанию к файлу php.ini в вашей системе. А второй, «Загруженный файл конфигурации», — это путь, по которому загружается файл 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. Эта директива может принимать константы E_ALL, E_NOTICE, E_STRICT и E_DEPRECATED.
Вы можете установить значение E_ALL, если хотите отображать все типы ошибок, такие как фатальные ошибки, предупреждения, устаревшие функции и т. д. Вы также можете комбинировать разные значения, если хотите отфильтровать определенные ошибки. Например, если вы хотите отображать все ошибки, кроме уведомлений, вы можете установить E_ALL & ~E_NOTICE .
журнал_ошибок
На рабочем веб-сайте необходимо убедиться, что PHP не отображает никаких ошибок в клиентском браузере. Вместо этого вы можете где-то регистрировать ошибки, чтобы позже вы могли обратиться к ним, если что-то пойдет не так с вашим сайтом. Директива error_log позволяет указать имя файла, в который будут записываться ошибки. Вы должны убедиться, что этот файл доступен для записи пользователю веб-сервера.
Директивы загрузки файлов
В этом разделе мы увидим несколько важных директив, которые позволяют вам включить возможность загрузки файлов в ваши PHP-формы.
загрузки_файлов
upload_max_filesize
Если вы включили функцию загрузки файлов на своем веб-сайте и столкнулись с трудностями при загрузке файлов, вам следует в первую очередь проверить эту директиву. Это позволяет вам установить максимальный размер файла, который может быть загружен.
По умолчанию установлено значение 2 МБ, поэтому пользователи не могут загружать файлы размером более 2 МБ. Вы можете точно настроить это значение в соответствии со своими требованиями — часто вам нужно увеличить это ограничение, чтобы разрешить загрузку файлов большего размера.
максимальный_размер сообщения
Этот параметр позволяет установить максимальный размер данных POST в ваших формах. Когда пользователь отправляет форму методом POST, общий размер данных POST не должен превышать значение, установленное вами в этой директиве.
Это значение должно быть больше значения, которое вы установили в директиве upload_max_filesize, поскольку загрузка файлов обрабатывается с помощью запросов POST.
Директивы по безопасности
В этом разделе мы увидим несколько важных директив, связанных с безопасностью.
разрешить_url_fopen
Директива allow_url_fopen по умолчанию отключена. Но когда он включен, он разрешает удаленное включение файлов в файловые функции PHP. Это означает, что ваши файлы PHP могут включать код с других серверов. Будьте осторожны при включении этого параметра: если ваш код подвергается атаке путем внедрения, удаленное включение файлов значительно облегчит злоумышленнику захват вашего сервера.
разрешить_url_include
Директива allow_url_include аналогична директиве allow_url_fopen, но разрешает удаленное включение файлов в функции включения. Он позволяет включать удаленные файлы в функции include, include_once, require и require_once.
Если вы хотите включить эту директиву, убедитесь, что вы также включили директиву allow_url_fopen.
Директивы сеанса
Управление сессиями — один из самых важных аспектов работы с PHP. В этом разделе мы рассмотрим пару важных директив сеанса.
сеанс.имя
Директива session.name позволяет задать имя файла cookie сеанса. По умолчанию установлено значение PHPSESSID , но вы можете изменить его на другое с помощью этой директивы.
session.auto_start
Если вы установите значение директивы session.auto_start равным 1 , модуль сеанса в PHP автоматически запускает сеанс при каждом запросе, поэтому вам не нужно использовать функцию session_start в ваших сценариях.
session.cookie_lifetime
Директива session.cookie_lifetime позволяет установить время жизни файла cookie сеанса. По умолчанию установлено значение 0 секунд, и это означает, что файл cookie сеанса удаляется при закрытии браузера. Это действительно полезная настройка, которая позволяет настроить функцию "запомнить меня", позволяя пользователям продолжить работу с вашего сайта с того места, на котором они остановились.
Разные директивы
В этом последнем разделе мы увидим несколько других директив, которые важны в контексте выполнения скрипта PHP.
memory_limit
Директива memory_limit позволяет ограничить максимальный объем памяти, который разрешено использовать сценарию.
Вы хотите настроить эту директиву в соответствии с вашими требованиями, и вам не следует устанавливать слишком высокое значение, чтобы избежать перебоев с памятью на вашем сервере — плохо написанные или ошибочные сценарии могут занять всю память на вашем сервере, если вы им это позволите. !
максимальное_время_исполнения
Директива max_execution_time устанавливает максимальное количество времени, в течение которого сценарий может выполняться до его завершения. Значение по умолчанию – 30 секунд, но при необходимости вы можете увеличить его до разумного предела в соответствии с вашими требованиями.
Как и в случае с директивой memory_limit, не следует устанавливать слишком большое значение, чтобы избежать проблем на сервере.
max_input_time
Директива max_input_time позволяет установить максимальное количество времени, в течение которого скрипту разрешено анализировать входящие данные формы из GET или POST.
Если на вашем веб-сайте есть формы, которые отправляют большой объем данных, вы можете увеличить значение этой директивы.
Заключение
Невозможно охватить каждую директиву в рамках одной статьи, но я постарался осветить наиболее важные из них. Не стесняйтесь публиковать свои вопросы, если вы хотите узнать о каких-либо конкретных директивах, и я буду рад помочь!
Как разработчику PHP важно, чтобы вы понимали различные директивы в файле php.ini, и это должно помочь вам точно настроить конфигурацию PHP в соответствии с вашими требованиями.
Лучшие PHP-скрипты на CodeCanyon
Изучите тысячи лучших и самых полезных PHP-скриптов, когда-либо созданных на CodeCanyon. С помощью единовременного платежа по низкой цене вы можете приобрести эти высококачественные темы WordPress и улучшить работу своего веб-сайта для себя и своих посетителей.
Вот несколько самых продаваемых и перспективных PHP-скриптов, доступных на CodeCanyon в 2020 году.
Это руководство о том, как найти местоположение вашего файла php.ini. Как вы, наверное, уже знаете, файл php.ini — это файл конфигурации, который позволяет вам включать и отключать расширения PHP. Он также позволяет настроить ряд ключевых директив.
Однако найти расположение файла php.ini иногда бывает непросто!
Используйте функцию phpinfo().
Самый простой способ найти файл php.ini — использовать функцию PHP phpinfo следующим образом:
Функция phpinfo — это инструмент отладки, который выводит информацию о вашей установке PHP. В этом выводе вы найдете строку «Загруженный файл конфигурации»:
Это файл конфигурации PHP, загруженный вашим веб-сервером. Следовательно, это файл, который вам нужно будет отредактировать, если вы хотите включить расширение или настроить ограничение размера загрузки. Как вы можете видеть на скриншоте выше, я использую Windows, и мой файл php.ini находится по адресу:
Обратите внимание, как я выделил выше слова «загружается вашим веб-сервером». Я сделал это различие, потому что версия PHP для командной строки (PHP CLI) будет иметь свой собственный файл php.ini.
Чтобы еще больше запутать ситуацию, в вашей файловой системе могут быть другие файлы php.ini. Например: файл, который использует мой веб-сервер, находится в папке apache. Однако есть также файл конфигурации по умолчанию, расположенный по адресу:
Когда я впервые начал разработку на PHP, мне часто приходилось редактировать не тот файл. Затем я провел следующие 20 минут, ломая голову и задаваясь вопросом, почему мои изменения не вступили в силу.
Мы все были там.
Обратите внимание, что вы всегда должны убедиться, что вы удалили свой скрипт phpinfo со своего веб-сервера после того, как закончили его использовать. Как вы можете видеть на снимке экрана выше, выходные данные phpinfo содержат много конфиденциальной информации о вашей среде PHP.
Поиск местоположения php.ini через командную строку.
Если вы используете Linux и хотите найти файл php.ini для PHP CLI, вы можете использовать следующую команду:
Приведенная выше команда сообщает PHP о необходимости выгрузить значения конфигурации.Затем утилита grep ищет в результирующем выводе строку, содержащую фразу «php.ini.
На моем сервере Ubuntu эта команда привела к следующему выводу:
Как видите, файл конфигурации PHP CLI на моем сервере находится по адресу:
Это означает, что если я захочу внести изменения в работу PHP CLI, мне нужно будет изменить указанный выше файл.
Используйте функцию php_ini_loaded_file.
Если вы используете PHP версии 5.2.4 или выше, вы также можете использовать функцию php_ini_loaded_file. Эта функция вернет расположение файла php.ini в виде строки:
Этот подход может быть предпочтительнее использования phpinfo, поскольку он отображает гораздо менее конфиденциальную информацию о вашей установке. Если вы случайно забудете удалить скрипт, то, по крайней мере, он не выводит кучу информации о вашей среде PHP.
Файл конфигурации ( php.ini ) считывается при запуске PHP. Для версий серверного модуля PHP это происходит только один раз при запуске веб-сервера. Для версий CGI и CLI это происходит при каждом вызове.
- Специальное расположение модуля SAPI (директива PHPIniDir в Apache 2, параметр командной строки -c в CGI и CLI)
- Переменная среды PHPRC.
- Расположение файла php.ini можно указать для разных версий PHP. Корень ключей реестра зависит от 32- или 64-битности установленной ОС и PHP. Для 32-разрядного PHP в 32-разрядной ОС или 64-разрядного PHP в 64-разрядной ОС используйте [(HKEY_LOCAL_MACHINE\SOFTWARE\PHP] для 32-разрядной версии PHP в 64-разрядной ОС используйте [HKEY_LOCAL_MACHINE\SOFTWARE \WOW6432Node\PHP] ]. Для установки той же разрядности проверяются следующие ключи реестра по порядку: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\xyz], [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\xy] и [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x] , где x, y и z означают основную, дополнительную и выпускную версии PHP.Для 32-разрядных версий PHP в 64-разрядной ОС проверяются следующие ключи реестра по порядку: [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\xyz], [ HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\xy] и [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x] , где x, y и z означают основную, дополнительную и релизную версии PHP. ключи, первый найденный будет использоваться в качестве местоположения php.ini (только для Windows).
- [HKEY_LOCAL_MACHINE\SOFTWARE\PHP] или [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP] , значение IniFilePath (только для Windows).
- Текущий рабочий каталог (кроме CLI).
- Каталог веб-сервера (для модулей SAPI) или каталог PHP (в противном случае в Windows).
- Каталог Windows ( C:\windows или C:\winnt ) (для Windows) или параметр времени компиляции --with-config-file-path.
Если существует php-SAPI.ini (где SAPI — это используемый SAPI, например, php-cli.ini или php-apache.ini ), он используется вместо php.ini . Имя SAPI можно определить с помощью php_sapi_name() .
Примечание:
Веб-сервер Apache изменяет каталог на корневой при запуске, в результате чего PHP пытается прочитать php.ini из корневой файловой системы, если она существует.
цитата>Переменные среды можно использовать в php.ini, как показано ниже.
К существующим переменным .ini можно обращаться из файлов .ini. Пример: open_basedir = $ ":/new/dir" .
Сканировать каталоги
Возможно настроить PHP для сканирования файлов .ini в каталоге после чтения php.ini . Это можно сделать во время компиляции, установив параметр --with-config-file-scan-dir. Затем каталог сканирования можно переопределить во время выполнения, установив переменную среды PHP_INI_SCAN_DIR.
Можно сканировать несколько каталогов, разделив их разделителем пути для конкретной платформы ( ; в ОС Windows, NetWare и RISC; : на всех других платформах; значение, используемое PHP, доступно как константа PATH_SEPARATOR). Если в PHP_INI_SCAN_DIR указан пустой каталог, PHP также будет сканировать каталог, заданный во время компиляции с помощью --with-config-file-scan-dir.
В каждом каталоге PHP будет сканировать все файлы, оканчивающиеся на .ini, в алфавитном порядке. Список загруженных файлов и их порядок можно получить, вызвав php_ini_scanned_files() или запустив PHP с параметром --ini.
Читайте также: