Меню

Свой php ini как настроить

Joomla3-x.ru

Вступление

Работая с хостингами, обычно не сталкиваешься с файлом php.ini, к нему просто нет доступа. Правда, есть хостинг-провайдеры, которые дают частичный доступ к некоторым настройкам php.ini. Причина такого ограничения доступа вполне понятна. Как-никак php.iniфайл задающий конфигурацию PHP сервера и его неразумная правка приведет к серьезным проблемам, решать которые придется хостинг-провайдеру. Другое дело, когда вы работаете с локальным сайтом на локальной машине. Любая сборка LAMP или WAMP допустит вас к php.ini по определению.

Что такое php.ini

Файл php.ini это конфигурационный файл с подавляющим большинством настроек PHP. По умолчанию файл конфигурации входит в дистрибутив PHP и называется php.ini-development. Чтобы интерпретатор PHP находил этот файл его нужно переименовать в php.ini. Файл php.iniзагружается вместе с локальным сервером или загружается вместе с дистрибутивом PHPпри самостоятельной сборке локального сервера. В последнем случае, как уже упоминалось, он называется «php.ini-development» и для работы с ним его нужно переименовать в php.ini.

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

На готовых локальных серверах директивы файла php.ini создаются разработчиками, и каждый разработчик платформы устанавливает свои настройки PHP в нем. Но настройки указанные в php.ini не берутся из головы. Шаблоном любого php.ini служит файл «php.ini-development» находящейся в «родном» дистрибутиве PHP.

Если в файле php.ini локального сервера не прописана, какая либо директива, то PHP примет директиву по умолчанию. Повторюсь, файл php.ini по умолчанию смотрите в дистрибутиве PHP вашей версии в файле php.ini-development.

Итак, если у вас установлен и работает (запускается) локальный сервер, то в его папках должен быть файл php.ini который видит Интерпретатор PHP.

Доступ к php.ini

Доступ на виртуальном хостинге

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

Правда есть хостинги предоставляющие частичный доступ к php.iniи эти настройки выведены на административную панель хостинга отдельным пунктом.

Доступ к php.ini на локальном хостинге

На локальных серверах вы имеете полный доступ ко всем файлам системы. Файл php.ini не исключение. Вы в любой момент можете открыть файл php.ini для редактирования. Редактировать файлы сервера нужно только в текстовых блокнотах.

Где искать php.ini

Найти файл не сложно.

Если вы сами собирали платформу локального сервера, то вы сами его переименовывали и сами его настраивали. Но могу предположить, что искать его нужно в директории [C:\\php] (для Windows).

На ЛС Денвер php.ini находим тут: C:\WebServers\usr\local\php5\php.ini.

На Xampp в папке Apache/bin:

На ЛС OpenServers несколько файлов конфигурации. Находятся они в директории C:\OpenServers\Userdata\ [Файлы конфигурации]

Источник

Где лежит php ini

Работа с файлами сайта, размещенного на хостинге или собственной виртуальной машине, рано или поздно приведет вас к файлу основных настроек языка PHP. Узнать, где лежит php ini, можно несколькими способами, которые зависят от операционной системы. Если вы уже используете хостинг на Windows или Linux, информация по поиску и использованию данного файла вам пригодится.

Расположение файла редко зависит от того, какой конструктор сайтов или оболочку вы используете. Вордпресс, Джумла и другие оболочки будут использовать стандартный php.ini, доступный в ОС сервера, либо тот, что поставляется вместе с инструментарием Denver.

Причины для поиска php.ini

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

Как найти данный файл

Первый шаг в поисках подойдет для случая, когда сайт уже запущен на виртуальной машине или хостинге (или вы как раз собираетесь это сделать). Создайте в корневой папке сайта файл с расширением PHP, куда скопируйте следующий простой код:

Читайте также:  Как настроить сеть vmware esxi

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

Основное правило при использовании Apache, Denver и других оболочек для виртуального сервера: вы фактически работаете с тем же Linux’ом, поэтому пути находятся стандартными для этой системы (и для самого PHP) способами, и, скорее всего, содержат соответствующие названия в именах папок. Если советы, касающиеся конкретных CMS, не помогли, просто ищите файл стандартным способом через создание страницы с phpinfo().

Ищем файл настроек PHP в популярных CMS

Даже пользователю-новичку может быть нужно найти, где находится php ini в WordPress или Joomla. Эти CMS дружелюбны к новым пользователям, но изменения параметров PHP все равно могут потребоваться по разным причинам. Файл обычно располагается в \usr\local\php5 относительно корневой папки, которую вам предоставляет хостинг, или папки, которая является рабочей для вашего внутреннего сервера. Метод с созданием проверочного файла, описанный выше, отлично работает в этом случае. Сами CMS обычно не вносят изменения в расположение php ini.

Будьте внимательны, когда заказываете хостинг веб сайтов – в некоторых случаях провайдер может ограничить или запретить изменение важных файлов, в том числе конфигурационных файлов PHP. Если возникают проблемы с поиском или открытием файла, есть смысл обратиться в техподдержку хостинга напрямую и уточнить, какие возможности вам доступны. В работе с собственным виртуальным сервером на Denver/Apache вас никто не ограничивает.

Если вы работаете в CMS Bitrix, вы можете и не найти файл настроек PHP в привычных директориях. Файл php ini в Bitrix лежит в разных папках в зависимости от версии самого Битрикса, поэтому создавайте тестовую страничку из первого примера и узнавайте точный путь оттуда. На некоторых хостингах вы можете найти путь /home/login, но туда обычно загружаются собственноручно созданные файлы, исходник для которых берется из /home/login/etc.

Расположение php.ini в ОС Linux разных версий и сборок

ОС Linux считается самой подходящей системой для регулярной работы с хостингом, сайтами на PHP и сопутствующими процессами. Если вы имеете непосредственный доступ к файловой системе сервера (являетесь его владельцем, например), то ищите php.ini по адресам /etc/, /usr/local/lib или /usr/local/php/etc/ – это самые распространенные места. PHP Zend размещает ини файл в /usr/local/Zend/etc/, учтите это, если используете данную оболочку. Вы можете задать и обычный поиск файла в системе, но так вы не узнаете, какой из нескольких файлов php.ini реально используется в данный момент для задания настроек сервера и сайта.

Вряд ли сложным исключением станет сборка ОС на базе Ubuntu. Место, где лежит php.ini в Ubuntu, определяется через phpinfo() и зависит от того, какой именно тип сервера вы используете. Для Apache это может быть /etc/php5/apache2, например. Если файл вовсе не удается обнаружить, то его можно создать вручную или скопировать из другого места, но только если знаете примерную структуру файла.

Как настроить php.ini под свои потребности?

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

Вот некоторые из настроек, которые можно изменить, если владелец хостинга разрешает использовать php.ini и редактировать его самостоятельно:

Эти две строки важны для любого пользователя, желающего снять ограничение на объем загружаемых файлов. Эта настройка проверяется при импорте записей в Вордпресс и другие CMS того же типа, значения по умолчанию в целях безопасности сервера сделаны очень скромными. Если вы точно знаете, что делаете, можете значительно увеличить лимит, либо просто подогнать его под размер импортируемых файлов (если уже знаете их примерный объем).

Читайте также:  Как настроить веб камеру a4tech pk 910h

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

Эта важная директива задает максимальное выделение памяти под один отдельный скрипт. Не завышайте это значение, если не знаете, для чего это может понадобиться. Скрипты PHP достаточно легковесны с точки зрения обычного пользователя.

Источник

Настройка параметров PHP

  • В первом случае PHP функционирует как модуль веб-сервера Apache, поэтому настройки PHP необходимо указывать в файле .htaccess.
  • Во втором случае настройки PHP необходимо указывать в файле php.ini, который располагается в директории cgi-bin вашего сайта.

По умолчанию на новых серверах PHP работает в режиме mod_php, но при желании вы можете подключить режим mod_cgi, воспользовавшись нашей инструкцией.

Настройка опций в файле .htaccess

Директивы необходимо добавлять в самый конец или в самое начало файла, вне блоков кода . .

apc.cache_by_default

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

Управление APC осуществляется директивами:

default_charset

Директива указывает кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц.

display_errors

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

Включение и выключение осуществляются следующим образом:

log_errors

Опция позволяет включить логирование ошибок php с их записью в произвольный файл (в примере errors.log). При указании пути к файлу замените u и user на первую букву вашего логина и сам логин.

magic_quotes_gpc

Волшебные кавычки (Magic Quotes) — это процесс автоматического экранирования входящих данных PHP-скрипта. Если опция включена, то одинарные (‘) и двойные («) кавычки и обратный слэш (\)экранируются обратным слэшем автоматически.

Включение и выключение magic_quotes осуществляется директивами:

mail.add_x_header

Опция позволяет включить логирование отправки почты из скриптов сайта. Логи будут содержать полный путь до скрипта, адрес получателя и заголовки. При указании пути к файлу, в который будут записываться логи (mail.log), замените u и user на первую букву вашего логина и сам логин.

max_input_vars

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

mbstring.func_overload и mbstring.internal_encoding

Для корректной работы сайтов на старых версиях CMS Битрикс (до v20.100.0) требуются следующие параметры:

opcache.revalidate_freq

Отключение OpCache (настройка требуется для CMS Битрикс):

pcre.recursion_limit

Устанавливает лимит на рекурсию.

post_max_size

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

register_globals

Директивы для включения/выключения глобальных переменных:

request_order

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

upload_max_filesize

Устанавливает максимальный размер закачиваемого файла.

Настройка опций в файле php.ini

allow_url_fopen

Опция включает поддержку оберток URL (URL wrappers), которые позволяют работать с объектами URL по протоколам ftp или http как с обычными файлами.

Включение опции (для отключения значение = 0):

apc.cache_by_default

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

Отключение APC (для включения значение = 1):

default_charset

Указание кодировки по умолчанию:

display_errors

Включение вывода ошибок (для выключения значение = off).

magic_quotes_gpc

Отключение Magic Quotes (для включения значение = 1):

mail.add_x_header

Включение логирования отправки почты из скриптов сайта. В директиве mail.log указывается путь к файлу, в который будут сохраняться логи (замените u и user на первую букву вашего логина и сам логин).

max_input_vars

Изменение количества вводимых переменных:

mbstring.func_overload и mbstring.internal_encoding

Настройки для старых версий CMS Битрикс:

Читайте также:  Dlna panasonic как настроить

opcache.revalidate_freq

Отключение OpCache (настройка для CMS Битрикс):

pcre.recursion_limit

Лимит на рекурсию:

post_max_size

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

register_globals

Отключение Register Globals (для включения значение = 1):

request_order

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

upload_max_filesize

Устанавливает максимальный размер закачиваемого файла.

Опции, которые не могут быть изменены

К настройкам PHP, изменение которых невозможно в рамках виртуального хостинга, относятся:

Источник



Свой php ini как настроить

Файл конфигурации ( php.ini ) считывается при запуске PHP. Для версий серверных модулей PHP это происходит только один раз при запуске веб-сервера. Для CGI и CLI версий это происходит при каждом вызове.

Поиск php.ini производится в следующих местах (по порядку поиска):

  • По месту расположения модуля SAPI ( PHPIniDir директива Apache 2, -c параметр командной строки CGI и CLI, php_ini параметр в NSAPI)
  • Переменная среды PHPRC . До PHP 5.2.0 поиск по переменной производился после поиска в реестре, указанном ниже.
  • Как и в PHP 5.2.0, местоположение файла php.ini может быть указано для различных версий PHP. Корневой ключ реестра зависит от разрядности операционной системы и установки PHP. Для 32-разрядного PHP на 32-разрядной Windows или 64-разрядного PHP и 64-разрядной Windows используйте [(HKEY_LOCAL_MACHINE\SOFTWARE\PHP] . Для 32-разрядного PHP на 64-разрядной Windows [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP] . Следующие ключи реестра исследуются при поиске для установок с совпадающей разрядностью: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z] , [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] и [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x] , где x, y и z подразумевают major, minor и release версии PHP. Для 32-разрядного PHP на 64-разрядной Windows ключи реестра будут другими: [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y.z] , [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y] и [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x] . Если также имеется значение IniFilePath в любом из этих ключей, то местонахождение 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 — это тип интерфейса, который используется, например, php-cli.ini или php-apache.ini ), то он используется вместо php.ini . Тип интерфейса между веб-сервером и PHP может быть определён с помощью функции php_sapi_name() .

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

В php.ini можно использовать переменные окружения, как показано ниже.

Пример #1 Переменные окружения php.ini

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

Пример #2 Пример php.ini

С версии PHP 5.1.0 стало возможным обращаться к существующим ini-переменным из ini-файлов. Пример: open_basedir = $ «:/new/dir» .

Сканирование директорий

Существует возможность сконфигурировать PHP для сканирования директорий в поисках .ini-файлов после считывания php.ini . Это можно сделать на моменте компиляции, указав опцию —with-config-file-scan-dir. В PHP 5.2.0 и выше, сканирование директорий может быть переопределено во время исполнения установкой переменной среды PHP_INI_SCAN_DIR .

Можно сканировать несколько директорий, разделяя их разделителем, используемом в вашей операционной системе ( ; в Windows, NetWare и RISC OS; : на всех остальных платформах; в PHP есть константа PATH_SEPARATOR , которую можно использовать) Если PHP_INI_SCAN_DIR пуста, то PHP также будет сканировать директорию, заданную на этапе компиляции с помощью —with-config-file-scan-dir.

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

Источник