Установлен apache httpd-2.2.3, php-5.2.6 на «Centos 5», пакеты взяты скомпиленные из стандартного centos репозитория. Phpinfo() показывает, что настройки грузятся из /etc/php.ini файла, когда я кладу файл php.ini в корневой каталог сайта он от туда не обрабатывается почему-то, приходится править глобальный php.ini, но это гне выход. где могут быть грабли?
Re: какие могут быть причины игнорирования php.ini?
потому что нужно делать SetEnv PHPRC pathtodirectorywithphp.ini
Re: какие могут быть причины игнорирования php.ini?
Re: какие могут быть причины игнорирования php.ini?
я знаю про эту переменную. Я в httpd.conf ее прописал
AllowOverride All Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec SetEnv PHPRC /home/mydomain/public_html/php.ini
Но значения из локального php.ini Апач все равно игнорирует, я прописал в php.ini такое значение:
так, вот phpinfo показывает, что Local Value и Master Value для этой переменной не меняется и оба равны глобальному из /etc/php.ini
Re: какие могут быть причины игнорирования php.ini?
>SetEnv PHPRC /home/mydomain/public_html/php.ini
надо SetEnv PHPRC /home/mydomain/public_html
и ради этого отдельный php.ini?
в httpd.conf php_admin_value session.save_path «/home/mydomain/tmp»
Re: какие могут быть причины игнорирования php.ini?
AllowOverride All Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec SetEnv PHPRC /home/mydomain/public_html
Re: какие могут быть причины игнорирования php.ini?
Для работы с PHP в конфигурационных файлах Apache доступны 4 директивы: php_value, php_flag, php_admin_value, php_admin_flag, которые отличаются значимостью, типом устанавливаемых значений и местом применения.
Re: какие могут быть причины игнорирования php.ini?
Re: какие могут быть причины игнорирования php.ini?
Устанавливает значение обозначенной директивы. Может использоваться только с директивами типа PHP_INI_ALL и PHP_INI_PERDIR Для очистки предыдущих установленных значений используйте значение none.
Замечание: Не используйте php_value для установки логических значений. Вместо этого необходимо использовать php_flag (см. ниже).
php_admin_value name value
php_admin_flag name on|off
Пример #1 Пример конфигурации Apache
PHP константы не доступны вне PHP. К примеру, в httpd.conf вы не можете использовать константы PHP такие как E_ALL или E_NOTICE чтобы установить директиву error_reporting, так как они не будут иметь значения и будут приравниваться к 0. Используйте вместо этого соответствующие значения типа bitmask (битовая маска). Эти константы могут быть использованы в php.ini
Изменение конфигурации PHP через реестр Windows
При использовании PHP в Windows значения конфигурации могут быть изменены на уровне директории посредством реестра Windows. Значения конфигурации хранятся в ключе реестра HKLM\SOFTWARE\PHP\Per Directory Values, в под-ключах, включающих полный путь. К примеру, значения конфигурации для директории c:\inetpub\wwwroot могут храниться в ключе HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot. Настройки для директории будут действительны для любых скриптов запущенных из этой директории или её поддиректории. Значения ключа должны иметь название конфигурационной директивы PHP и строковое значение. PHP константы в значениях игнорируются. Однако, только значения конфигурации изменяемые в PHP_INI_USER могут быть установлены таким образом, значения же PHP_INI_PERDIR не могут.
Запустить PHP в интерактивном режиме. Для получения дополнительной информации смотрите раздел Интерактивная консоль.
Путь связывания библиотек (Bind Path) для внешнего режима FASTCGI Server (только для CGI ).
Не менять текущую директорию на директорию скрипта (только для CGI ).
Тихий режим. Подавляет вывод заголовков HTTP (только для CGI ).
Измерить время выполнения скрипта, повторенного count раз (только для CGI ).
Если эта опция не указана, поиск php.ini будет осуществлён в местах по умолчанию.
Включить режим расширенной информации, используемый отладчиком/профайлером.
Пример #1 Вывод встроенных (и загруженных) модулей PHP и Zend
При использовании этого ключа следует быть очень осторожным и избегать недоразумений, связанных с автоматической подстановкой переменных окружения.
Пример #2 Ошибка синтаксиса при использовании двойных кавычек
Пример #3 Использование одинарных кавычек для предотвращения подстановки переменных в консоли
При использовании оболочки, отличной от sh/bash, могут возникнуть другие проблемы. В таком случае необходимо создать отчёт о возникшей ошибке на сайте » https://bugs.php.net/. Можно столкнуться с проблемами при попытке получить доступ к переменным оболочки или при работе с экранирующими обратными слешами. Теперь вы предупреждены!
Эта опция предназначена только для самого простого кода. Поэтому некоторые конфигурационные директивы (например, auto_prepend_file и auto_append_file) в этом режиме будут проигнорированы.
Выполняемый код PHP перед обработкой потока ввода (stdin).
PHP-код, выполняемый для каждой строки ввода.
PHP-файл, выполняемый для каждой строки ввода.
PHP-код, выполняемый после обработки ввода.
Показать исходный код с подсветкой синтаксиса.
Эта опция использует внутренний механизм для разбора файла и записи в стандартный поток вывода подсвеченной версии этого файла. Учтите, что все что она делает, это генерирует блок [. ] HTML-тегов, без HTML-заголовков.
Показать исходный код без комментариев и пробелов.
Загружает модуль Zend. Если передано только имя файла, PHP попытается загрузить этот модуль из пути библиотек по умолчанию (обычно указывается в /etc/ld.so.conf в системах Linux). Передача файла с абсолютным путём не будет использовать системный путь поиска библиотеки. Относительное имя файла, содержащее директорию, укажет PHP подгрузить модуль относительно текущей директории.
Показывает имена конфигурационных файлов и отсканированные директории.
Показывает информацию об указанной функции или методе класса (например, количество и названия параметров).
Эта опция доступна только в том случае, если PHP был скомпилирован с поддержкой Reflection.
Показывает информацию об указанном классе (список констант, свойств и методов).
Эта опция доступна только в том случае, если PHP был скомпилирован с поддержкой Reflection.
Эта опция доступна только в том случае, если PHP был скомпилирован с поддержкой Reflection.
Показывает информацию о конфигурации указанного Zend-модуля (та же информация, которая возвращается phpinfo() ).
Показывает информацию о конфигурации указанного модуля (та же информация, которая возвращается phpinfo() ). Конфигурацию ядра можно узнать, указав в качестве имени модуля значение «main».
User Contributed Notes 2 notes
If however, the html code in the page is: the picture displays correctly.
Hence relative addressing is broken in PHP 5.4.33 Win32 VC9 build.
По умолчанию на новых серверах PHP работает в режиме mod_php, но при желании вы можете подключить режим mod_cgi, воспользовавшись нашей инструкцией.
apc.cache_by_default
Управление APC осуществляется директивами:
default_charset
Директива указывает кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц.
display_errors
Директива указывает, требуется ли выводить ошибки на экран вместе с остальным выводом, либо ошибки должны быть скрыты от пользователя.
Включение и выключение осуществляются следующим образом:
log_errors
Опция позволяет включить логирование ошибок php с их записью в произвольный файл (в примере errors.log). При указании пути к файлу замените u и user на первую букву вашего логина и сам логин.
magic_quotes_gpc
Включение и выключение 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
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 (для включения значение = 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 Битрикс:
opcache.revalidate_freq
Отключение OpCache (настройка для CMS Битрикс):
pcre.recursion_limit
post_max_size
register_globals
Отключение Register Globals (для включения значение = 1):
request_order
Регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.
upload_max_filesize
Устанавливает максимальный размер закачиваемого файла.
Опции, которые не могут быть изменены
К настройкам PHP, изменение которых невозможно в рамках виртуального хостинга, относятся: