Openserver php ini где

Автор: Эдуард Бунаков · Опубликовано 11 декабря 2017 · Обновлено 25 февраля 2018

Openserver настройка php настраивается в модулях и является приоритетными настройками при использовании разных cms-систем, скриптов и приложений. Нельзя будет сделать установку системы поддерживающую версию php 5.6, если сам сервер настроен на более мощные параметры, например joomla, для которой нужно установить версию php не ниже 7.

Обратная ситуация, когда рекомендуемые параметры установки движка, выше чем настройка openserver, так же не желательна.

По этой же самой причине и уже готовые сайты, находящиеся на локальном сервере openserver, при изменении настроек модулей, могут быть недоступны. Трудно потерять данные, если конечно таких сайтов много. Для одной cms-системы можно настроить один раз и не обращать внимание на все остальное.

Но давайте рассмотрим вариант когда на локальном сервере openserver, установлено несколько вариантов сайтов, с разными системными требованиями. Для примера я взял скрипт службы поддержки osticket, с поддержкой версии php 5.6 и популярный движок joomla, для которого необходима версия php не ниже 7.0.

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

Openserver настройка php с помощью профилей

При входе в настройки openservser , появится окно с множеством различных вкладок (13) в виде меню.

Для нашего конкретного случая, главными из них будут «Основные» и «Модули». В основных параметрах настраиваются профили, а в модулях-конфигурация сервера для каждого профиля отдельно.

Находясь в меню «Основные», в поле «Имя профиля», необходимо ввести нужное имя и нажать кнопку «Создать профиль», чтобы придуманный профиль появился в списке всех остальных профилей, которых кстати, может быть очень много.

Затем курсором просто выбрать новый профиль и перейти в меню «Модули», где настроить нужные параметры для нового профиля и сохранить. После чего, для сохранения новых установок, сервер будет перезапущен.

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

На практике все выглядит очень просто. Выбрав нужный профиль, необходимо нажать на кнопку «Загрузить профиль». Выбранные настройки будут доступны после перезагрузки сервера.

Вот так просто, используя профили openserver, можно быстро выбирать нужные настройки php любой версии.

Openserver настройка php практическое использование.

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

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

    Создаем php-файл (имя может быть любое, но мы берем для примера myphpinfo.php), и добавляем в него следующие строки:

Как настроить 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_ нужно через запятую записать классы, вызов которых вы хотите запретить (обычно это делается для безопасности)

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

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" — значит, что сессия живет, пока окно браузера не будет закрыто)

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

extension=modulename.extension ; Можно использовать чтобы загружать внешние модули. Для Windows-систем, обычно пишут — extension=msql.dll, а для
UNIX — extension=msql.so

Работа с модулями 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 прописать такой код:

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

Ну что, чешутся руки установить веб-сервер и написать первую программу на PHP? Сейчас всё будет.

Первым делом идём на официальный сайт OpenServer и скачиваем программу. Я рекомендую скачать BASIC-комплектацию, для наших нужд её вполне хватит. Однако можете посмотреть список программ, которые включены в другие пакеты. Возможно, найдёте что-то полезное, будь то какой-нибудь редактор кода или GUI-клиент для СУБД MySQL.

Итак, приступим. Первым делом нужно скачать саму программу.

Так как на оф. сайте на сегодняшний день скачать его проблемно, советую качать отсюда.
Ссылка на оф. сайт: https://ospanel.io/

Установка

Запускаем установщик и задаём директорию для установки программы. Установка представляет собой простую распаковку.

После завершения установки окно молча закроется.

Настройка

Переходим в папку с распакованным ПО: C:OpenServer.
Здесь мы видим файлы для запуска программы OpenServer для разных версий системы и 3 папки:

  • domains – папка, предназначенная для хранения Ваших сайтов. Внутри неё мы и будем создавать наши проекты, например: myproject.loc;
  • modules – папка, содержащая в себе исполняемые файлы модулей и необходимые для их работы библиотеки, дополнительные файлы;
  • userdata – папка, в которой находятся пользовательские данные СУБД, файлы кэша, логи, а также файлы конфигурации модулей.

Запустим один из exe-файлов в корне, в зависимости от разрядности вашей ОС. В моём случае это Open Server x64.exe.

Выбираем язык и соглашаемся с установкой необходимых библиотек:

Перезагружаем компьютер. После перезагрузки снова запускаем наш exe`шник. В трее появляется значок с красным флажком.

Жмём по нему правой кнопкой мыши и выбираем пункт “Настройки”. Откроется главное окно программы. Перейдём во вкладку “Модули” и выберем версию PHP: PHP 7.0 и версию Apache: Apache-PHP-7.

Затем перейдём во вкладку “Домены”, выберем “автопоиск доменов” и в качестве корневой папки домена выберем пункт с наибольшим числом вариантов. Вы также можете дописать сюда свои варианты.

После чего нажимаем “Сохранить” и закрываем окно настроек.

Hello World

Перейдём в папку “domains” и создадим директорию для нашего проекта. Назовём его “myproject.loc”. Внутри создадим директорию “www”. А внутри неё файл “index.php”. Откроем его и впишем следующий код:

Теперь можно запустить сервер и проверить работу скрипта.

Если при старте сервера появилась ошибка: Файл C:Windowssystem32driversetchosts недоступен для записи — стоит закрыть программу и запустить её от имени администратора.

Флажок в трее должен стать зелёным.
Откроем браузер и перейдём по адресу http://myproject.loc/

Поздравляю! Ваша первая (или нет?) программа только что успешно отработала! Мы увидели результат её работы. И если мы сейчас откроем исходник страницы в браузере, то там не будет нашего исходного кода. Он выполнился, а веб-сервер отдал нам готовый результат. Пользователь никогда не увидит вашего кода на PHP. Вот так просто 😉

На этом конфигурация завершена. В следующем уроке мы установим и настроим самую крутую IDE для PHP-разработчика – PHPStorm. А ещё узнаем о том, как можно пользоваться ей бесплатно.
До встречи!

Оцените статью
Ремонт оргтехники
Добавить комментарий