Elettracompany.com

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Php user ini

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 . Вместо него используйте суперглобальные массивы.

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.ini?

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

  1. Создаем php-файл (имя может быть любое, но мы берем для примера myphpinfo.php), и добавляем в него следующие строки:
  2. Загружаем этот файл на сервер, где расположен ваш сайт (в корневую папку).
  3. Запускаем через браузер (вводим URL https://yoursitename.com/myphpinfo.php).
  4. В появившемся окне ищем путь к php.ini (для начала смотрим «Loaded Configuration File», если там написано «None», то смотрим «Configuration File (php.ini) Path»).

Как настроить php.ini?

Файл php.ini имеет такие правила синтаксиса «директива = значение». Если вы хотите добавлять комментарии (например, в которых указываете на что влияет данная настройка), то делайте после точки с запятой (все, что идет после этого знака не учитывается как команда). Вот пример:

Читать еще:  Методы защиты баз данных

max_execution_time = 40 ; Максимальное кол-во секунд исполнения скрипта

Далее рассматриваем основные настройки, которые можно сделать в файле php.ini:

Общие настройки

PHPengine = On ; Работа PHP-скриптов включена.

short_open_tag = On ; Разрешает упрощенно обрамлять PHP-код тагами

Precision = 12 ; Указывает сколько цифр будет после запятой, у чисел с плавающей точкой.

output_buffering = 4096 ; Автоматически будет включена буферизация вывода, с размером буфера указанным после «равно».

safe_mode = On ; Безопасный режим.

safe_mode_allowed_env_vars = PHP_ ; Разрешает пользователю работать только с переменными окружения, которые начинаются с PHP_. Если эта директива будет пустой (не будет иметь значения), то пользователи смогут изменять любые переменные окружения. Это может очень плохо сказаться на защите сценариев.

safe_mode_protected_env_vars = LD_LIBRARY_PATH ; Запрещает изменять переменные, которые перечисляются через запятую.

disable_functions = ; После знака «равно» нужно через запятую записать функции, которые вы хотите отключить (обычно это делается для безопасности)

disable_classes = ; После знака «равно» нужно через запятую записать классы, вызов которых вы хотите запретить (обычно это делается для безопасности)

Ограничение ресурсов

max_execution_time = 40 ; Максимальное время на выполнение скрипта (в секундах)

max_input_time = 40 ; Максимальное время в секундах, которое дается скрипту может на обработку данных, которые загружаются.

memory_limit = 16M ; Максимум памяти, которые выделяется для работы одного скрипта

Обработка ошибок и журналы

error_reporting = E_ALL | E_ERROR | E_WARNING | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE ; Указывает перечень ошибок, которые можно выводить.

display_errors = On; Разрешает выводить ошибки прямо в браузер (часто используют для удобства отладки).

display_startup_errors = On ; Ошибки появляющиеся при страрте PHP разрешено показывать.

log_errors = On ; Ошибки разрешено записывать в файл журнала.

log_errors_max_len = 1024 ; Максимальное число символов, которое может составлять длинна журнала.

track_errors = On ; Последние сообщение об ошибки сохранится в переменную $php_errormsg

html_errors = On ; Разрешен вывод сообщений об ошибках в HTML.

error_log = filename ; Задается имя журнала ошибок.

Обработка данных

variables_order = «EGPCS» ; Устанавливает порядок, в котором PHP будет регистрировать перменные (E — встроенные переменные, G — GET переменные, P — POST переменные, C — Cookies, S — сессии). Если убрать любую из букв, то работа соответствующих переменных будет блокироваться.

register_globals = On ; Включает возможность для обращения к переменным, которые поступают через GET/POST/Cookie/сессии, как к обычным переменным (например «$имяпеременной»).

register_argc_argv = On ; Разрешено создавать переменные $argv и $argc на основе информации из GET-метода.

post_max_size = 8M ; Устанавливает максимальный объём данных, который может быть принят.

magic_quotes_gpc = On ; Включает автоматическую обработку кавычек, которые поступают через POST/GET/Cookie.

auto_prepend_file = ; Содержимое файлов, указанных в этих директивах, PHP должен обрабатывать соответственно ДО выполнения сценария
auto_append_file = ; Содержимое файлов, указанных в этих директивах, PHP должен обрабатывать соответственно ПОСЛЕ выполнения сценария.

default_mimetype = «text/html» ; Задает кодировку для Content-type. По умолчанию будет использовано text/html без указания кодировки

doc_root = ; Задается корневая папка для PHP-сценариев.

extension_dir = «./» ; Задается папка, в которой будут хранится динамически загружаемые расширения.

Загрузка файлов

file_uploads = On ; Загрузка файлов на сервер разрешена.

upload_tmp_dir = ; Временная директория для файлов, которые загружаются.

upload_max_filesize = 2M ; Устанавливает максимальный размер файла, который можно загрузить.

Работа с сокетами

user_agent=»PHP» ; Задается переменная USER_AGENT, когда происходит подключение через сокет.

default_socket_timeout = 30 ; Максимальное время на прослушивание сокета (секунды).

Сессии

session.save_handler = files ; Уазывает, что информацию о сессиях нужно хранить в файлах

session.save_path = /tmp ; После знака «равно» нужно указать путь к папке в которой будет храниться информация о сессиях (важно чтобы она папка уже существовала)

session.use_cookies = 1 ; Разрешает использование cookie в сессиях

session.name = PHPSESSID ; Указывает на исользование в качестве имени сессии и сессионной cookie — ID сессии

session.auto_start = 0 ; Запрещает инициализировать сессии при начале соединения

session.cookie_lifetime = 0 ; Время жизни сессии («0» — значит, что сессия живет, пока окно браузера не будет закрыто)

session.use_trans_sid = 1 ; Если пользователь отключил cookie, то во всех ссылках будет добавлен ID сессии

Динамические расширения

Работа с модулями MySQL

mysql.allow_persistent = On ; Разрешает устойчивые MySQL-соединения.

mysql.max_persistent = -1 ; Задает сколько максимум может быть устойчивых MySQL-соединений. Если указать -1, то это будет значить, что ограничений нет.

mysql.max_links = -1 ; Задает сколько максимум может быть устойчивых MySQL-соединений, и неустойчивых ODBC-соединений. Если указать -1, то это будет значить, что ограничений нет.

mysql.default_port = ; Порт для функции mysql_connect.

mysql.default_socket = ; Имя сокета для локальных соединений MySQL.

mysql.default_host = ; Имя хоста для функции mysql_connect.

mysql.default_user = ; Имя пользователя.

Если вы создали собственный файл php.ini и поместили его в папке сайта

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

order allow,deny
deny from all

Но будьте внимательны, т.к. при данных настройках, все директивы (php_value, php_flag и т.д.) касающиеся настроек php через файл .htaccess перестанут работать (будет выдаваться ошибка 500 Internal Server Error).

Настройка файла php.ini

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

Интерпретатор php может поставляться в виде модуля для Apache, выполнять скрипты из командной строки или в виде отдельного сервиса php-fpm. Эти сервисы отличаются своими возможностями, и предназначением, но для любого вида интерпретатора нужно задать базовые настройки, например, рабочая папка, включенные расширения, отображение ошибок и так далее. Все эти настройки задаются через файл php.ini. В этой инструкции мы рассмотрим как выполняется настройка файла php.ini в операционных системах Linux, хотя все информация подойдет и для Windows.

Если у вас еще не установлен интерпретатор языка программирования php, то вы можете ознакомиться со статьей установка lamp в Ubuntu 16.04.

Расположение и синтаксис php.ini

Для каждой версии интерпретатора конфигурационный файл php.ini находится в отдельной папке. Но все конфигурационные файлы находятся в папке /etc/php, например, /etc/php5:

Папка conf.d содержит общие настройки для различных расширений и модулей, они не будут нас сейчас интересовать. Более интересны следующие три папки — apache, cli и fpm. В них содержатся конфигурационные файлы php.ini для каждого из этих интерпретаторов.

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

Что касается синтаксиса файла, то он разделен на секции, сначала идет секция настройки php, которая разделена на подсекции в зависимости от типа настроек, дальше идут секции настройки разных модулей. Синтаксис самих настроек очень прост, он соответствует привычному синтаксису ini файлов. Строка начинается с имени настройки, затем следует знак равно, а за ним значение:

имя_настройки = значение_параметра

Символами [] обозначается имя секции, например, [PHP], а символ ; означает комментарий, он и все символы после него не читаются интерпретатором. А теперь рассмотрим как выполняется настройка php.ini и переберем самые важные параметры.

Настройка файла php.ini

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

sudo gedit /etc/php5/apache/php.ini

Сначала идет немного информации о самом файле в виде комментариев, затем интересующие нас настройки.

Читать еще:  Аспекты защиты информации

Вывод ошибок в php

Настройка php 7 обычно начинается с конфигурации вывода ошибок. Все настройки вывода ошибок находятся в разделе Error handling and logging. По умолчанию вывод ошибок на экран во время выполнения скрипта отключен. Это сделано для того, чтобы пользователи не смогли увидеть ничего лишнего. Вместо этого, все ошибки записываются в лог файл. Если вы используете php на домашнем компьютере, то такие меры не нужны и вы можете сразу выводить все на экран:

Замените off на on. В php используются различные типы ошибок, например, критические, предупреждения, ошибки синтаксиса, с помощью строки error_reporting вы можете включить вывод только определенных типов ошибок:

Если нужно объединить несколько типов ошибок, то используйте символ &, а для отключения отображения поставьте перед типом знак

. Приведенный выше пример отображает все ошибки (E_ALL), кроме сообщений об устаревших функциях (E_DEPRECATED). Вы можете отключить все типы использовав 0:

Включите запись ошибок php в лог файл, если не выводите их на экран:

Чтобы не засорять лог однотипными сообщениями можно игнорировать повторяющиеся ошибки в пределах одного исполнения:

Ограничения ресурсов

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

По умолчанию максимальное время выполнения скрипта — 30 секунд, сделаем минуту:

Если указать 0, то скрипт может выполняться бесконечно. Вы также можете ограничить время, на протяжении которого скрипт будет загружать данные, 60 секунд:

Максимальное количество переменных в GET и POST:

Следующий параметр задает максимальное количество памяти, которую может использовать один скрипт во время своего выполнения, в мегабайтах:

Максимальный размер данных, передаваемых в POST запросе тоже ограничивается, размер по умолчанию — 8 Мегабайт:

Вы можете ограничить область действия php в системе с помощью опции openbase_dir, она указывает папку, выше которой скрипт не может получить доступ к файловой системе:

С помощью директив disable_functions и disable_classes вы можете отключить использование в скриптах определенных функций или классов, например, это может быть полезно для веб-хостингов. В этом примере мы отключаем использование функции ini_set, которая позволяет менять настройки php из скрипта:

Директории по умолчанию

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

Папка с модулями php:

Папка для записи временных файлов:

Загрузка файлов

Для того чтобы пользователи могли загружать свои файлы на сервер, например, фото, нужно включить эту функцию в php:

Максимальный размер загружаемого файла:

Максимальное количество файлов, которые может загрузить один скрипт:

Настройка php.ini практически завершена, нам остались лишь расширения.

Настройка расширений

Расширения позволяют очень сильно увеличить функциональность php. Например, благодаря расширениям вы можете использовать в своих скриптах базы данных mysql, postgresql, mysqli, sqlite, графическую библиотеку gd и многое другое. Все это включается в этом разделе.

Для включения расширения достаточно убрать комментарий перед строкой с его командой, например:

extension=php_mysql.so
extension=php_mbstring.so
extension=php_pgsql.so

Обратите внимание, что для windows расширение будет иметь формат dll, но для linux нужно использовать so. В следующих секциях идет настройка каждого из расширений, но мы их рассматривать не будем потому что они обычно не требуют настройки.

Выводы

В этой статье мы рассмотрели как выполняется настройка php на сервере или обычном компьютере для разработки веб-сайтов. Файл настроек php имеет довольно простую структуру и с ним довольно не сложно справиться. После завершения всех настроек и сохранения изменений не забудьте перезагрузить веб-сервер или сервис php-fpm.

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

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

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

Для чего нужен файл php.ini для WordPress

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

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

К примеру, хостер может ограничивать размер импортируемых на сервер данных. Допустимый размер загруженных файлов можно посмотреть в админке WordPress. Зайдите в меню «Медиафайлы» и выберите пункт «Добавить новый». Как правило, этот параметр задается хостером в интервале 2–128 Мб. При необходимости увеличения допустимого объема импортируемого файла, потребуется изменить соответствующий параметр в файле php.ini.

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

Прежде всего необходимо выяснить, где на сервере находится файл php.ini.

  1. Запустите текстовый редактор и напечатайте в нем строчку:
  2. Сохраните созданный файл под названием info.php.
  3. Через файловый менеджер подключитесь к серверу хостинга, на котором располагается ваш сайт, и скопируйте в корневой каталог сайта файл info.php.
  4. Теперь в адресной строке браузера наберите http://site.ru/info.php, вместо site.ru задайте имя своего сайта.

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

Среди множества настроек проверьте значение трех параметров, которые определяют объем данных, импортируемых на сервер:

  • memory_limit – максимальный размер памяти (128 Мб), которая отводится хостером для выполнения скриптов на сайте;
  • post_max_size – допустимый размер единовременного запроса на импорт файла (32 Мб в нашем случае);
  • upload_max_filesize – предельный объем данных, который разрешается импортировать на сайт (16 Мб, как и показал WordPress).

Изменение файла php.ini

Для увеличения допустимого объема данных, импортируемых на сайт, требуется скорректировать величину, задаваемую в директивах upload_max_filesize и post_max_size. В случае виртуального хостинга пользователь может не владеть полным доступом к глобальным настройкам сервера, чтобы провести подобную операцию. Как правило, полный доступ к этому файлу имеется на локальном сервере (Denwer, OpenServer) либо на VPS хостинге.

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

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

Изменение файла user.ini, где он лежит

Если доступ к файлу php.ini отсутствует, пользователь может скорректировать необходимые величины в файле user.ini. Путь к нему указывается в разделе «Additional .ini files parsed» при открытии файла info.php. Этот способ работает для версии PHP не ниже 5.

  1. Запустите текстовый редактор и задайте файлу имя user.ini.
  2. Внесите в него директивы memory_limit, post_max_size и upload_max_filesize с нужными параметрами.
  3. Через файловый менеджер скопируйте файл user.ini в корневой каталог сайта.
Читать еще:  Защита профессиональной чести и достоинства

Добавление php директив для ВордПресс в файл .htaccess

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

  1. Откройте файл .htaccess в редакторе кода.
  2. Добавьте необходимые директивы, используя перед каждой команду php_value.
  3. Сохраните файл в корневом каталоге сайта.
  4. Откройте сайт и убедитесь, что он работает после внесения правок. В противном случае восстановите файл .htaccess из резервной копии.

Если ничего не помогло

Важно понимать, что пользовательские настройки не имеют приоритета перед настройками сервера. Если используемый вами тарифный план ограничивает на сервере максимально разрешенный объем файла 50 мегабайтами, а вы запишете в директиву upload_max_filesize 500 мегабайт – этот вариант работать не будет.

Следует обратиться в службу технической поддержки хостинга:

Правая Скобка ]

Энциклопедия веб разработчика. Все что интересно HTML, CSS, PHP, MySQL и не только !

PHP конфигурация фаила PHP.INI

Файл конфигурации php.ini считывается при запуске PHP. Для версий серверных модулей PHP это происходит только один раз при запуске веб-сервера. Для CGI и CLI версий считывание происходит при каждом вызове. Используя функцию phpinfo() можно проверить путь к php.ini.
Фаил конфигурации хорошо прокомментирован.
Ключи чувствительны к регистру, значениями ключевых слов не могут быть пробелы и строки, начинающиеся с точки с запятой. Булевские переменные могут быть представлены как 1/0, Yes/No, On/Off, or True/False. Значения по умолчанию в php.ini-dist приведет к разумной установке PHP, которая может быть изменена позже.
Объясним важные настройки в php.ini:

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_«. Если эта директива пуста, то большинство переменных могут быть изменены.

safe_mode_protected_env_vars = [LD_LIBRARY_PATH]
Эта опция задает, какие переменные среды пользователи не могут изменить в безопасном режиме, даже если safe_mode_allowed_env_vars установлена в permissively(включена).

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

max_execution_time = 30
При настройке php ini нужно знать, что функция set_time_limit() не будет работать в безопасном режиме. Поэтому это основной способ реализовать задержку выполнения скрипта в безопасном режиме. В Windows, вы должны выполнить принудительное завершение на основе максимального объема памяти, а не времени. Вы также можете использовать настройку параметра timeout Apache, если Вы используете Apache, но она будет применяться к файлам сайта но не PHP.

error_reporting = E_ALL &

E_NOTICE
Значение по умолчанию 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
Эта настройка позволяет Вам решить, хотите ли вы зарегистрировать переменные EGPC как глобальные. Теперь это устарело, и с PHP4.2, этот флаг установлен в Off по умолчанию. Вместо этого используйте суперглобальные массивы. Все основные списки кода на страницах этого описания используют суперглобальные массивы.

gpc_order = GPC
Этот параметр объявлен устаревшим.

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

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

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

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]
Если вы используете Apache, то в файле httpd.conf корневой каталог документа для этого сервера или виртуального хоста уже задан. Установите это значение здесь, если вы повторно использовать безопасный режим или, если вы хотите включить PHP только на части сайта (например, только в одном подкаталоге вашего веб-корня).

file_uploads = [on/off]
Включите этот флаг, если вы будете загружать файлы с помощью PHP-скрипта.

upload_tmp_dir = [DIR]
Не раскомментируйте эту строку, если Вы не понимаете последствия загрузки HTTP!

session.save-handler = files
Эту настройку лучше не трогать.

ignore_user_abort = [On/Off]
Этот параметр определяет, что происходит, если посетитель сайта нажимает в браузере кнопку Stop. Значение по умолчанию установлено в On, что означает, что сценарий продолжит выполняться до завершения или таймаута. Если значение параметра будет изменено на Off, сценарий будет прерван. Этот параметр работает только в режиме модуля, а не в CGI.

Ссылка на основную публикацию
Adblock
detector