Как изменить php ini openserver

Ответили на вопрос 3 человека. Оцените лучшие ответы! И подпишитесь на вопрос, чтобы узнавать о появлении новых ответов.

Открываю php.ini. Раскомментировал строчки с xdebug и сохранил. Перезапускаю OpenServer захожу посмотреть в php.ini а строчки те что я раскомментировал опять закомментированы.


  • Вопрос задан

    более трёх лет назад

  • 14268 просмотров

Пригласить эксперта

Была подобная проблема. Оказывается нужно менять php.ini в папке OpenServeruserdataconfig.

Советуют открывать ini файл через панель опенсервера. У меня тоже такая хрень происходит .
Вроде разницы нет но только что сделал и пока не удалилось.


  • Показать ещё
    Загружается…

Сбер

Нижний Новгород

от 220 000 ₽

10 февр. 2023, в 13:40

75000 руб./за проект

10 февр. 2023, в 13:27

2000 руб./за проект

10 февр. 2023, в 13:18

150000 руб./за проект

Минуточку внимания

Архитектура

codeАрхитектура расположения каталогов программного комплекса подразумевает под собой чёткое разделение двух различных типов данных: изменяемых данных пользователя (настройки, временные файлы, логи т.д.) и неизменяемых данных (модули, программы, служебные файлы).

Если говорить простым языком, то в папке modules никакие файлы никогда не изменяются, не создаются и не удаляются, а в папках domains и userdata напротив, данные постоянно меняются. Такая архитектура создана специально для упрощения синхронизации данных между различными копиями комплекса и экономии места при резервном копировании.

Установка и запуск

Open Server Panel является портативным программным комплексом, однако для удобства пользователей устанавливается через инсталлятор.

Сборку можно разместить на внешнем жёстком диске, это позволит использовать
Open Server Panel на любом компьютере, который отвечает системным требованиям. Однако не стоит размещать сборку на USB-флеш накопителе из-за крайне медленной работы флеш-памяти при параллельных запросах на чтение/запись и её быстрого износа.

Желательно установить
Open Server Panel на SSD-накопитель, при его наличии. Это позволит значительно повысить скорость работы всех модулей и компонентов программного комплекса.

Внимание!

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

Системные требования

  • Операционные системы: Windows 7 SP1 x64 / Windows Server 2008 R2 SP1 или новее (32-битные системы не поддерживаются);
  • Свободные аппаратные ресурсы: от 500 МБ RAM и от 10 ГБ места на диске;
  • Системное ПО: MSVC++ 2005-2022 Redistributable Packages (есть в комплекте);

Установка

В процессе установки
Open Server Panel отметьте галочками пункт по установке Microsoft Visual C++ 2005-2008-2010-2012-2013-2015-2019 Redistributable Package, пункт по установке RuntimePack Lite, пункт по настройке Windows и пункт по оптимизации системы для работы с SSD (при его наличии). Без выполнения этих действий работа
Open Server Panel на вашем компьютере не гарантируется.

Установку/переустановку библиотек от Microsoft и применение настроек Windows необходимо выполнять c каждой новой версией
Open Server Panel даже в том случае, если вы уже делали это ранее.

Запуск

Для запуска
Open Server Panel используйте файл Open Server.exe. После старта программы вы увидите красный флажок в области уведомлений Windows (область возле системных часов). Чтобы включить непосредственно сам веб-сервер и сопутствующие модули нажмите на флажок, далее выполните [Меню → Запустить].

Если сервер не запускается перейдите к разделу Решение проблем данного справочного руководства.

Настройка Windows 10

Перед установкой
Open Server Panel в системах семейства Windows 10 необходимо обязательно предварительно снять галочку, показанную на картинке, и перезагрузить систему.

Без выполнения данного условия запуск
Open Server Panel в системах семейства Windows 10 будет невозможен. В случае попытки запуска до выполнения данного условия произойдёт порча файлов конфигурации программы, что приведёт к невозможности её дальнейшего использования и запуска.

Установка обновлений

Open Server Panel это достаточно сложный программный комплекс с постоянно совершенствующейся архитектурой. Как таковой процедуры обновления не предусмотрено. При выходе новой версии
Open Server Panel необходимо заново выполнить все настройки, скопировать папки ваших сайтов и выполнить перенос баз данных.

Не распаковывайте файлы дистрибутива поверх существующей версии, а так же не пытайтесь скопировать файлы конфигурации и профилей из старой версии программы в новую!

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

Подключение

По умолчанию все дополнительные модули выключены. Перед началом работы с
Open Server Panel убедитесь в том, что вы включили нужные вам модули в настройках программы.

Ниже представлены установленные в
Open Server Panel начальные настройки (значения по умолчанию) для подключения к различным модулям. Вы всегда можете самостоятельно изменить эти настройки по своему усмотрению.

Подключение к MySQL

  • Адрес: домен вашего сайта*
  • Порт: 3306
  • Пользователь: root
  • Пароль: (пустой)

Предупреждение

Доступ с удалённых хостов (%) включён по умолчанию и возможен с любого ip. Обязательно выполните настройку прав удалённого доступа у пользователей БД до того, как вы запустите Open Server на публичном IP (если планируете).

Подключение к PostgreSQL

  • Адрес: домен вашего сайта*
  • Порт: 5432
  • Пользователь: postgres
  • Пароль: postgres

Подключение к MongoDB

  • Адрес: домен вашего сайта*
  • Порт: 27017
  • Пользователь: (пусто)
  • Пароль: (пусто)

Подключение к Memcached

  • Адрес: домен вашего сайта*
  • Порт: 11211

Макс. размер памяти используемой сервером Memcache по умолчанию равен 64 Мб. Данный параметр можно изменить выполнив [Меню → Настройки → Разное].

Подключение к Redis

  • Адрес: домен вашего сайта*
  • Порт: 6379

Подключение к DNS

  • Адрес: домен вашего сайта*
  • Порт: 53

Подключение к FTP

  • Адрес: домен вашего сайта*
  • Порт: 21 (990 для FTPS)
  • Пользователь: ftp
  • Пароль: ftp

Внимание!

Модуль FTP-сервера экспериментальный. Он имеет известные уязвимости и проблемы с быстродействием. Используйте его только в целях локальной разработки. Не активируйте модуль в условиях, когда доступ к серверу открыт во внешнюю сеть!

Домен localhost

Если вы хотите использовать привычный адрес localhost для подключения к MySQL, PostgreSQL, FTP или Memcache серверу, то достаточно не удалять стандартный домен localhost или создать одноимённый алиас.

Автоматизация подключения

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

  1. Локально создать пользователя базы данных с теми же именем, паролем и привилегиями, что используются на удалённом сервере.
  2. Создать алиас с тем же именем, что используется в качестве хоста базы данных на удалённом сервере.


* Например, если ваш скрипт размещен по адресу testserver.loc/mysql.php, то хостом (адресом) для подключения к MySQL, Redis и другим модулям будет домен: testserver.loc

Домены и алиасы

Режимы управления доменами

В
Open Server Panel существует три режима управления списком доменов: автопоиск, ручное управление и ручное+автопоиск. По умолчанию используется первый режим автоматического подключения папок из корневой директории указанной в настройках.

Как работает автопоиск

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

Как работает совмещённое управление (ручное + автопоиск)

При использовании совмещенного режима управления доменами программа сначала подключает домены созданные вручную, после чего производится автоматическое сканирование по процедуре описанной выше.

Создание домена в автоматическом режиме

Чтобы создать домен или поддомен откройте [Меню → Папка с сайтами] и создайте папку с именем будущего домена. После создания домена перезапустите сервер.

Создание домена в ручном режиме

Чтобы создать домен или поддомен перейдите в раздел [Меню → Настройки → Домены] и создайте запись вида: домен => папка. В качестве папки домена можно выбрать уже существующую папку на диске или создать её непосредственно в окне выбора каталога. После создания домена сохраните настройки.

Создание кириллического домена

Open Server Panel поддерживает кириллические домены, однако будьте внимательны, папку с доменом нужно называть его реальным именем, а не псевдо названием на кириллице. Для пиво.рф реальным названием (punycode формат) будет xn--b1altb.xn--p1ai и создав такой домен вы получите доступ к http://пиво.рф. Для конвертации доменных имён в punycode формат и обратно используйте [Меню → Дополнительно → IDN конвертер].

Создание поддомена

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

Создание алиаса

Чтобы создать алиас перейдите в раздел [Меню → Настройки → Алиасы] и создайте запись вида: исходный домен => конечный домен. После создания алиаса сохраните настройки.

Обратите внимание — создание алиаса вида *.xxx.xx не имеет смысла в Windows и не означает то, что вам станут доступны любые поддомены вида test.xxx.xx, mail.xxx.xx и т.д. Необходимо создать конкретный алиас или домен чтобы он стал доступен, это особенность операционной системы Windows.

Иконка сайта в меню доменов

При наличии корректного файла favicon.ico в корневой папке домена иконка сайта будет отображаться в меню программы.

Ограниченный режим работы

В некоторых случаях управление доменами и алиасами недоступно (см. Ограниченный режим).

Работа с MySQL

Перед началом работы с MySQL убедитесь в том, что вы включили нужный вам модуль в настройках программы.

Создание пользователя MySQL

  1. Откройте [Меню → Дополнительно → PHPMyAdmin]
  2. Введите имя пользователя root и пустой пароль
  3. В PHPMyAdmin откройте раздел [Привилегии]
  4. Нажмите ссылку [Добавить нового пользователя]
  5. Заполните форму и нажмите кнопку [Создать пользователя]

Информация

В том случае, если помимо прочих привилегий для пользователя будет отмечена привилегия SUPER, то кодировка, установленная по умолчанию в настройках MySQL сервера, не будет на него действовать. Кодировку нужно будет указывать в ваших скриптах персонально для каждого подключения к MySQL, потому отмечать привилегию SUPER не рекомендуется.

Информация

Для входа в Adminer используйте логин и пароль пользователя БД. Если ваш пользователь БД не имеет пароля, то для авторизации в Adminer необходимо использовать пароль заданный в плагине авторизации самого Adminer, по умолчанию это admin.

Пароль указывается в файле index.php находящимся в modulessystemhtmlopenserveradminer

Рекомендуется сменить этот пароль перед началом использования программы.

Создание базы данных MySQL

  1. Откройте [Меню → Дополнительно → PHPMyAdmin]
  2. Введите имя пользователя root и пустой пароль
  3. В PHPMyAdmin откройте раздел [Базы данных]
  4. Введите название новой базы данных и выберите её кодировку
  5. Нажмите кнопку [Создать]

Переключение модулей баз данных

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

Предупреждение

Во время установки
Open Server Panel выполняется настройка Windows, во время которой IPv4 трафик получает приоритет над IPv6 при разрешении доменных имён. Если не выполнять данную процедуру, то процесс подключения в MySQL серверу может выполняться очень долго (более 1 сек).

Чтобы проверить корректность настройки приоритетов откройте консоль и введите ping localhost. Если в ответе вы получаете адрес ::1 вместо 127.0.0.1, значит приоритеты настроены неверно.

Переменная Path

Для добавления собственных путей в переменную окружения PATH можно использовать файл ./userdata/config/path.txt

Пути необходимо добавлять по одному вписывая каждый с новой строки, например:

C:Windows
D:My Programs
%realprogdir%datadll
C:WindowsSystem32

Информация

По умолчанию файл path.txt не подключается. См. [Меню → Настройки → Сервер].

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

Переменная Описание переменной
%realprogdir% Реальный путь до папки с
Open Server Panel (обратный слеш «»)
%progdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной обратный слеш «\»)
%dsprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL/MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchached
%redisdriver% Название модуля Redis
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с
Open Server Panel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с
Open Server Panel (только буква)
%sysdisk% Системный диск Windows (только буква)

Настройка DNS

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

Для использования встроенного DNS сервера необходимо выполнить настройку сетевого интерфейса на каждом компьютере ДО запуска самого сервера. Выполнить настройку необходимо как на локальной машине, так и на других компьютерах в локальной сети, которые хотят получить доступ к вашим доменам. Без указания локального DNS сервера в настройках сетевого подключения запуск сервера будет невозможен (если модуль DNS активирован в настройках
Open Server Panel).

По умолчанию параметр TTL установлен в значение 60 (секунд), вы можете изменить это значение в файле ./userdata/init.ini однако следует иметь ввиду, что бездумное изменения TTL может спровоцировать кэширование неактуальных записей другими компьютерами в вашей сети. Изменяйте этот параметр только в том случае, если вы действительно понимаете его предназначение.

Предупреждение

Перед началом использования DNS-модуля убедитесь в том, что у вас отсутствуют домены без точки в своём названии. Если таковые имеются, то переименуйте их добавив .virtual или .loc к имени домена.

Внимание!

Если ваш браузер производит разрешение доменных имён через прокси-сервер или использует функцию DNS over HTTPS от стороннего DNS-провайдера (например Google или CloudFlare), то локальные домены, созданные вами в Open Server, не будут доступны в этом браузере.

Рекомендации по настройке

  1. В качестве IP адреса сервера выберите в настройках
    Open Server Panel IP адрес вашего компьютера в локальной сети или сети Интернет (не выбирайте параметр Все доступные IP).
  2. Откройте свойства нужного сетевого подключения:

    Центр управления сетями → Подключение xxx → Свойства → Протокол Интернета версии 4 → Свойства → Общие → Использовать следующие адреса DNS-серверов.

    Пропишите следующие адреса NS серверов:

    xxx.xxx.xxx.xxx
    8.8.8.8 (или любой другой реальный резервный DNS)

    Вместо xxx.xxx.xxx.xxx впишите IP адрес вашего компьютера в локальной сети или сети Интернет.

  3. Повторите процедуру настройки на других компьютерах в локальной сети.
  4. Не выполняйте настройку алиасов из инструкции раздела Внешний доступ данного руководства. Подобная настройка не требуется, поскольку удалённые компьютеры будут напрямую работать с вашим DNS сервером и получат доступ ко всем доменам.
  5. Сохраните настройки и выполните запуск сервера
    Open Server Panel.

После правильной настройки все компьютеры в вашей локальной сети смогут получить доступ к доменам
Open Server Panel.

Совпадение имён локальных и реальных доменов

Если включён DNS-модуль, то при каждом запуске сервера и при каждой его остановке
Open Server Panel выполняет очистку DNS-кэша Windows

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

Так же вы можете просто иметь второй браузер, который настроен на использование стороннего DNS-провайдера (например Google или CloudFlare) и потому он будет видеть только реальный домен независимо от того, запущен локальный сервер или нет.

Планировщик заданий

Использование планировщика заданий (Сron)

Значения времени вводятся в виде цифр, комбинации цифр или *.

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

Например: 1,2,3
Результат: задание выполняется 3 раза, в 1-ю,2-ю и 3-ю минуты часа.

Вы можете указать диапазон, используя дефис:

Например: 5-7
Результат: задание выполняется 3 раза, в 5-ю,6-ю и 7-ю минуты часа.

Вы можете задать периодичность выполнения используя звездочку (*) и слэш (/):

Например: */2
Результат: задание выполняется каждые 2 минуты.

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

Например: 1,5,11-15,30-59/2
Результат: задание выполняется в 1,5, с 11 по 15 и каждые 2 минуты с 30 по 59.

Вышеприведённая схема указания времени актуальная для всех временных периодов (минута, час, число, месяц, день недели). Для запроса URL в планировщике нужно использовать вспомогательную утилиту Wget (см. примеры). В строке команд можно использовать подстановки.

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

Переменная Описание переменной
%realprogdir% Реальный путь до папки с
Open Server Panel (обратный слеш «»)
%progdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной обратный слеш «\»)
%dsprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL / MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchache
%redisdriver% Название модуля Redis
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с
Open Server Panel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с
Open Server Panel (только буква)
%sysdisk% Системный диск Windows (только буква)

Примеры заданий планировщика

Запрос по протоколу HTTP каждые 30 минут:

*/30 * * * *
"%progdir%moduleswgetbinwget.exe" -q --no-cache http://xxx.ru/cron.php -O nul

Запрос по протоколу HTTPS каждый час в 10 минут, в 20 минут и в 40 минут:

10,20,40 * * * *
"%progdir%moduleswgetbinwget.exe" --secure-protocol=TLSv1_2 --no-check-certificate -q --no-cache https://xxx.ru/cron.php -O nul

Выполнение файла cron.php интерпретатором PHP ежеминутно:

*/1 * * * *
"%progdir%modulesphp%phpdriver%php-win.exe" -c "%progdir%modulesphp%phpdriver%php.ini" -q -f "%sitedir%xxx.rucron.php"

Информация

Конструкция -O nul в аналогична -O /dev/null в Linux и используется в примере для того, чтобы ответ, полученный wget от сервера, не сохранялся на диске.

Исполняемый файл php-win.exe используется вместо обычной CLI-версии PHP потому, что он ничего не выводит и, соответственно, не открывает консоль (окошко dos не появляется на экране).

Предупреждение

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

Предопределенные переменные планировщика

Переменная Описание переменной
%hh% Текущий час (00-23)
%mm% Текущая минута (00-59)
%ss% Текущая секунда (00-59)
%MM% Текущий месяц (01-12)
%MMM% Текущий месяц (Янв-Дек)
%DD% Текущий день (01-31)
%WW% Текущий день недели (Пн-Вс)
%WD% Текущий день недели (1-7, 1-понедельник, 7-воскресенье)
%YYYY% Текущий год (4 цифры)
%YY% Текущий год (последние 2 цифры)
%QUOTE% Знак кавычек
%PERCENT% Знак процента

В таблице показаны не все переменные. Полный список смотрите здесь.

При составлении заданий вы можете использовать как переменные для подстановки значений из
Open Server Panel, так и предопределённые переменные самого планировщика. Кроме того, в качестве переменных планировщика можно использовать любые переменные среды окружения (environment variables), например %COMSPEC%.

Примеры заданий c использованием переменных

Очистка папки c:temp:

%COMSPEC% /c del /S /Q c:temp*

Задание будет развёрнуто планировщиком так:

C:Windowssystem32cmd.exe /c del /S /Q c:temp*

А теперь пример создания резервной копии баз данных:

"%realprogdir%modulesdatabase%mysql_driver%binmysqldump.exe" -A --add-drop-database -E -i -Q -R --opt --user=root --result-file="%realprogdir%%DD%_%MM%_%YYYY%_%hh%_%mm%_dump.sql"

Задание будет развёрнуто планировщиком так:

"C:OSPanelmodulesdatabaseMariaDB-10.3binmysqldump.exe" -A --add-drop-database -E -i -Q -R --opt --user=root --result-file="C:OSPanel9_01_2020_14_25_dump.sql"

Информация

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

Меню закладок

Для быстрого доступа к нужным страницам на сайтах и рабочим папкам, для запуска и выполнения любых программ и команд в
Open Server Panel существует возможность создавать закладки.

Виды закладок

  • Ссылка
  • Папка
  • Программа (возможен запуск с параметрами)
  • Команда в формате командной строки Windows

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

Переменная Описание переменной
%realprogdir% Реальный путь до папки с
Open Server Panel (обратный слеш «»)
%progdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной обратный слеш «\»)
%dsprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL / MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchache
%redisdriver% Название модуля Redis
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с
Open Server Panel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с
Open Server Panel (только буква)
%sysdisk% Системный диск Windows (только буква)

Предупреждение

При создании закладок на запуск программ с параметрами разделителем пути до программы и параметрами запуска является знак #, иначе закладка будет выполнена через командную строку как обычная команда!

Примеры создания закладки на запуск программы с параметрами:

%realprogdir%modulesheidisqlheidisql.exe#-h=127.0.0.1 -u=root -P=%mysqlport%

Меню программ

Добавление портативной программы

В
Open Server Panel существует возможность добавить в меню свою портативную программу. Для этого необходимо выполнить следующие действия:

  1. Откройте папку ./progs/ в каталоге с
    Open Server Panel или создайте такую папку если её не существует;
  2. Создайте в папке ./progs/ подпапку с именем категории программ, например ./progs/Офисные программы, или используйте имя Default (программы из подпапки Default отображаются в корне меню, без категории);
  3. Скопируйте каталог с вашей портативной программой (например CintaNotes) в созданную вами папку ./progs/Офисные программы, в итоге у вас должен получиться такой путь: ./progs/Офисные программы/CintaNotes;
  4. Создайте в папке с портативной программой файл osinit.txt содержащий единственную строку с текстом, которая будет использована в меню
    Open Server Panel вместо отображения оригинального названия EXE файла программы;
  5. Перезапустите управляющую программу
    Open Server Panel;

Предупреждение

Имя портативной программы (без расширения) и имя папки, в которой она находится, должны быть идентичны! Например, если главный файл портативной программы называется CintaNotes.exe, то путь к нему должен выглядеть так: ./progs/Офисные программы/CintaNotes/CintaNotes.exe

Добавление категории программ

Чтобы добавить собственную категорию в меню программ следует создать одноимённую папку в директории ./progs/. Программы добавленные в папку Default отображаются в корне меню программ, без категории.

Добавление ярлыка программы

Помимо портативного софта в меню программ можно добавить ярлыки на локально установленные программы. Такой указатель на программу будет отображаться в меню вместе с другими программами и будет работать как самый обычный ярлычок. Чтобы добавить ярлык на локально установленную программу просто скопируйте его в папку ./progs/нужная_вам_категория_программ/ или ./progs/Default/.

Информация

Не пытайтесь cкопировать в папку портативных программ ярлыки на папки, сайты и другие объекты не являющиеся программами. Такие ярлыки не будут отображаться в меню и соответственно не будут работать. Для создания ярлыков к сайтам, папкам и т.д. используйте [Меню → Настройки → Закладки] (см. Меню закладок).

Старт/стоп скрипты

Дополнение сценариев запуска и остановки сервера

В
Open Server Panel существует возможность дополнять сценарии запуска и остановки сервера своими .bat файлами (батниками).

Чтобы дополнить какой-либо сценарий необходимо создать файл-шаблон .tpl.bat в папке ./userdata/ с определённым именем (см. список ниже). Вы можете записать в такой файл произвольные последовательности команд, предназначенных для исполнения командным интерпретатором Windows.

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

Перед запуском

Используйте шаблон с именем /userdata/pre_start.tpl.bat для указания команд выполняемых ДО запуска всех модулей.

После запуска

Используйте шаблон с именем /userdata/start.tpl.bat для указания команд выполняемых ПОСЛЕ запуска всех модулей, но до того, как флаг состояния (в области уведомлений Windows) станет зеленым.

Перед остановкой

Используйте шаблон с именем /userdata/stop.tpl.bat для указания команд выполняемых ДО остановки модулей.

После остановки

Используйте шаблон с именем /userdata/post_stop.tpl.bat для указания команд выполняемых ПОСЛЕ остановки модулей, но до того, как флаг состояния (в области уведомлений Windows) станет красным.

Предупреждение

После начала процедуры завершения работы Windows запуск любых новых процессов невозможен, поэтому СТОП-скрипты (stop.bat и post_stop.bat) не выполняются. Если вам требуется обязательное выполнение скриптов остановки, то необходимо выключать
Open Server Panel вручную непосредственно перед тем, как вы хотите выключить компьютер.

Внимание!

Каждый созданный вами батник (для любого сценария из перечисленных выше) должен корректно отработать и завершиться, иначе сервер будет ожидать окончания его выполнения бесконечно.

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

В файлах-шаблонах с расширением .tpl.bat можно использовать подстановки. Доступные варианты подстановки программных переменных:

Переменная Описание переменной
%realprogdir% Реальный путь до папки с
Open Server Panel (обратный слеш «»)
%progdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной обратный слеш «\»)
%dsprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL / MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchache
%redisdriver% Название модуля Redis
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с
Open Server Panel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с
Open Server Panel (только буква)
%sysdisk% Системный диск Windows (только буква)

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

setx DIR_PHP "%realprogdir%modulesphp%phpdriver%"

Ограниченный режим

При недоступном на запись HOSTS файле программа переходит в ограниченный режим работы с урезанной функциональностью.

В ограниченном режиме вам будет недоступна следующая функциональность:

  • Использование своих алиасов и доменов (кроме домена localhost);
  • Указание IP адреса сервера (кроме адресов 127.0.0.1 и *);

Таким образом в ограниченном режиме вам будет доступен один из двух IP адресов: 127.0.0.1 или *, и только один домен localhost. Другие созданные вами алиасы и домены не будут обработаны программой.

Работать в ограниченном режиме уместно только при полном отсутствии прав администратора, например в условиях организации. В любом другом случае крайне рекомендуется правильно настроить права доступа к HOST файлу для возможности полноценной работы с разными доменами. Разрешить запись в HOSTS файл для всех пользователей можно выполнив через консоль (запускать от имени Администратора) следующую команду:

attrib -s -r -h -a C:Windowssystem32driversetchosts

Если в логах запуска вы видите сообщение о том, что Hosts файл недоступен для записи, то возможно что доступ к этому файлу блокируется антивирусом/файрволом, либо действуют ограничения прав доступа Windows.

Добавьте
Open Server Panel, а так же все остальные компоненты, о которых будет спрашивать антивирус/файрвол, в доверенные программы. Отключите защиту HOSTS файла (или системных файлов) в настройках вашего антивируса/файрвола, если такая защита присутствует. Попробуйте вручную удалить файл C:WindowsSystem32Driversetchosts и заново создать со следующим содержимым:

127.0.0.1 localhost

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

Предупреждение

При включённой службе контроля учётных записей пользователей (UAC) и запуске без прав администратора
Open Server Panel не будет иметь доступа к HOSTS файлу и автоматически перейдёт в ограниченный режим работы.

Запуск без внесения записей в HOSTS файл

В
Open Server Panel реализована возможность полноценного запуска без внесения записей в HOSTS файл. Эта возможность будет полезна пользователям офисных сетей и терминалов, где доступ к HOSTS файлу имеет только старший администратор. Если опция [Не вносить изменения в HOSTS файл] включена, то запуск сервера происходит без редактирования HOSTS файла будто все домены в нём уже прописаны, т.е. доступ к этому файлу не требуется вовсе.

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

Формат внесения записей в HOSTS файл стандартный — ip пробел домен, например:

192.168.5.10  rhino.acme.com
192.168.5.10  x.acme.com

Отправка почты через SMTP

Яндекс почта

Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.

Mail.ru почта

Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.

Gmail почта

Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.

По умолчанию Gmail не даёт возможности использовать SMTP, поэтому доступ нужно активировать отдельно. Вам необходимо выполнить следующие шаги по активации:

1. Авторизуйтесь в своём аккаунте Gmail
2. В той же вкладке браузера перейдите сюда
3. Активируйте доступ к аккаунту для «непроверенных приложений» (см. картинку ниже)
4. Выполните тестовую отправку письма через ваш скрипт на сервере
Open Server Panel
5. Обновите страницу (F5) и снова активируйте доступ к аккаунту для «непроверенных приложений» если он не активировался (пришедшее письмо о попытке доступа к аккаунту можно проигнорировать)

Теперь попробуйте отправить письмо еще раз, на этот раз отправка должна заработать.

Информация

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

Внешний доступ

Работа с внешними сетями

Open Server Panel может работать в локальных сетях и сети Интернет как веб-сервер. Для работы в сети Интернет необходим статический(белый) IP адрес. Чтобы открыть доступ к серверу извне необходимо указать * в качестве IP адреса в настройках
Open Server Panel, в этом случае доступ откроется сразу для всех сетей, к которым подключён ваш компьютер. Если вы хотите открыть доступ только для одной конкретной сети (например локальной), то укажите в настройках программы IP адрес выданный вашему компьютеру в этой сети.

Информация

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

Доступ извне к локальными доменам

После того, как вы настроите удалённый доступ к своему серверу, все локальные домены станут доступны удалённо. Но как их открыть? Чтобы открыть нужный сайт с удалённой машины потребуется внести в HOSTS файл такого компьютера запись с адресом вашего локального домена, например: 64.55.96.24 supersite (где 64.55.96.24 это адрес вашего компьютера, а supersite это имя локального домена). После внесения такой записи в HOSTS файл на удалённом компьютере домен supersite будет доступен при обычном наборе в строке браузера.

Обратите внимание — при простом наборе IP адреса вашего компьютера http://64.55.96.24/ или при попытке доступа к несуществующему локальному домену будет открываться пустая страница.

Для того, чтобы при наборе IP адреса вашего компьютера открывался определённый локальный сайт, необходимо создать алиас вида ваш_внешний_ip => ваш_локальный_домен. После этих действий указанный вами локальный домен, для которого вы создали алиас, станет доступен через локальную сеть или сеть Интернет по адресу http://ваш_внешний_ip/ (например http://64.55.96.24/). Если ваш компьютер подключен к нескольким сетям и в настройках сервера установлен IP=*, то такой алиас необходимо создать для каждого IP адреса выданного вашему компьютеру в каждой из сетей.

Внимание!

При работе с внешними сетями нет никакой гарантии безопасности вашего компьютера. Сервер часто запускается с правами Администратора, а значит, скрипты, запущенные под его управлением, могут делать на компьютере всё, что угодно. Дыры в безопасности скриптов могут открыть хакерам и вирусам доступ к вашему компьютеру.

Мы не рекомендуем такое использование
Open Server Panel! Перед настройкой удалённого доступа к серверу обязательно ознакомьтесь с разделом Защита сервера данного справочного руководства.

Внешнее управление

Open Server Panel может принимать некоторые команды через сеть Интернет, для этого имеется встроенная панель управления которая работает на выделенном порту. Так же программой можно управлять через командную строку.

Управление через Интернет

Чтобы получить доступ к панели управления необходимо набрать адрес http://localhost:1515/ (по умолчанию). Порт, логин и пароль к контрольной панели можно указать непосредственно в настройках
Open Server Panel [Меню → Настройки → Разное].

Панель управления доступна на любом IP адресе с которого доступен ваш компьютер, а так же на любом локальном домене из созданных на сервере. Для управления программой через Интернет ваш внешний IP адрес должен быть «белым», т.е. доступным из сети Интернет.

Команды для использования в командной строке

"C:openserverOpen Server Panel.exe"              # запуск программы
"C:openserverOpen Server Panel.exe" /start       # запуск сервера
"C:openserverOpen Server Panel.exe" /restart     # перезапуск сервера
"C:openserverOpen Server Panel.exe" /stop        # остановка сервера
"C:openserverOpen Server Panel.exe" /exit        # выход из программы

Защита сервера

Настройка защиты

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

Несколько шагов по защите веб-сервера от несанкционированного доступа:

  1. Отключите FTP сервер [Меню → Настройки → FTP сервер];
  2. Установите собственные пароли для root (и других) пользователей всех модулей СУБД;
  3. Включите защиту от внешнего доступа в настройках программы [Меню → Настройки → Сервер];
  4. Теперь перезапустите саму управляющую программу (не сервер);
  5. Выполните настройку файрвола закрыв на доступ извне все порты кроме тех, которые планируется использовать (например: 80,443,21,990,53);

Предупреждение

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

Встроенная защита от внешнего доступа

Выбор опции [Меню → Настройки → Сервер → Защитить сервер от внешнего доступа] отключит часть опасных функций PHP, доступ к веб-инструментам извне будет заблокирован, а доступ к диску для PHP скриптов будет ограничен корневой папкой доменов. Данная опция снижает производительность php-скриптов в 2-10 раз (зависит от интенсивности работы с файловой системой)!

Работа с Composer

Composer совместим со всеми версиями PHP начиная с 5.3 и в
Open Server Panel он доступен во всех совместимых модулях «из коробки».

Установка пакетов Composer

  1. Выполните [Меню → Дополнительно → Консоль];
  2. Перейдите в папку с тем сайтом, куда планируется установка;
  3. Выполните установку любого нужного вам пакета, например:
# Переход в папку с проектом
cd C:openserverdomainslocalhost

# Установка Symfony
composer create-project symfony/framework-standard-edition symfony

# Установка PHPUnit
composer create-project phpunit/phpunit phpunit & echo @php -d output_buffering=0 phpunitphpunit %*>phpunit.bat

# Установка Laravel
composer create-project laravel/laravel laravel --prefer-dist

# Установка phpDocumentor
composer create-project phpdocumentor/phpdocumentor phpdocumentor

В будущем, чтобы обновить установленный таким образом проект, достаточно перейти в папку с нужным проектом и выполнить команду composer update:

cd C:openserverdomainslocalhostphpunit & composer update

Работа в консоли

Для запуска встроенной консоли необходимо запустить сервер и выполнить [Меню → Дополнительно → Консоль]. Среда окружения (англ. Environment) формируется в момент запуска сервера и передаётся всем запускаемым модулям. Любые другие программы, будь то консоль или IDE, так же могут получить правильное окружение, достаточно запускать эти программы из меню
Open Server Panel. Для этого можно либо сделать закладку, либо добавить ярлык в меню программ (см. разделы Меню закладок и Меню программ).

Необходимо знать, что если вы запускаете консоль или любую другую программу из стандартного меню Пуск или используя ярлык на рабочем столе Windows, а не из меню
Open Server Panel, то они не смогут работать с виртуальным окружением сформированным в
Open Server Panel.

Встроенную консоль можно запустить даже если сервер выключен, в Full версии выполните [Меню → Программы → Консоль]. Однако при выключенном сервере среда окружения не сформирована и поэтому работать из консоли с PHP и другими модулями или программами (wget, composer, скриптами и т.д.) будет невозможно.

Внимание!

Если вы запустили консоль ДО запуска сервера, то среда окружения НЕ станет доступна в консоли.

Чтобы начать полноценную работу с модулями после запуска сервера нужно закрыть и заново открыть встроенную консоль (саму программу ConEmu, а не только вкладку), поскольку только при запущенном сервере консоль получает правильно сформированное окружение в момент запуска из меню.

Точно так же среда окружения не будет обновлена в консоли если вы переключились на другой модуль PHP или MySQL и перезапустили сервер, но при этом не перезапустили консоль!

Внимание!

При запуске стороннего ПО (консоли, программы, IDE, скрипты и проч.) строго придерживайтесь правила: сначала запустить сервер — потом программу.

Если вы изменили настройки
Open Server Panel или конфиги модулей: выключить программу — потом запустиь её заново.

Не пытайтесь запускать софт в обход меню Open Server, т.к. в этом случае рабочее окружение не будет доступно в вашей программе.

Вопросы и ответы

Ничего не запускается?

Не стоит отчаиваться, загляните в общий лог программы и другие логи компонентов [Меню → Просмотр логов]. В подавляющем большинстве случаев там вы найдете причину неудачного старта. В более сложных случаях включите опцию [Запускать сервер в отладочном режиме], это позволит увидеть отладочную информацию при запуске. Так же добавьте
Open Server Panel в доверенные программы вашего файрвола или антивируса, если таковой имеется.

Пишет что порт 80, 3306 и т.д. уже занят!

Включите в настройках
Open Server Panel опцию [Запускать сервер в агрессивном режиме], в этом режиме все программы занимающие нужные порты будут принудительно закрыты. Добавьте
Open Server Panel в доверенные программы вашего антивируса/файрвола/прокси-сервера или отключите слежение за портами 80/443/21/90xx/3306 если оно есть. В отдельных антивирусах/файрволах возможны свои доп. настройки связанные с перехватом подключений программ к сети.

Пишет что нет прав доступа для работы в этой папке!

Вы пытаетесь запустить
Open Server Panel из папки, которая принадлежит другому пользователю, или же файлы
Open Server Panel были записаны на компьютер другим пользователем. Если
Open Server Panel будет запускаться пользователем Pavel (например), то войдите в систему под учётной записью Pavel и скопируйте
Open Server Panel в такую папку, которая принадлежит пользователю Pavel (имеются права на запись), после чего запуск сервера для этого пользователя станет возможным. Вместо копирования можно установить особые права доступа к папке с
Open Server Panel, обратитесь к администратору вашего компьютера.

Почему кнопки серые и не нажимаются?!

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

Я не могу открыть меню когда флаг желтого цвета!

Желтый флажок говорит о том, что происходит выполнение команды (например запуск, остановка или сохранение настроек). Во время выполнения команд меню программы недоступно.

Создал 3000 доменов и теперь сервер не запускается!

Увеличьте кол-во проверок состояния сервера до 20-30 или выше в настройках программы [Меню → Настройки → Разное]. Переключитесь на использование HTTP модуля Apache если вы используете модуль Nginx.

Хочу протестировать сайт с учётом разных скоростей интернета (мобильные устройства к примеру)!

В
Open Server Panel существует возможность ограничения скорости передачи данных для симуляции медленной загрузки сайта. Для ограничения скорости воспользуйтесь меню
Open Server Panel: [Меню → Настройки → Разное]. Скорость можно ограничить в пределах 1-40 КБайт в секунду, установка значения в 0 или более 40 отменяет ограничение. Скоростной лимит устанавливается на каждый запрос, поэтому, если клиент одновременно откроет 4 картинки на сайте (4 соединения), то каждая из них будет загружаться с заданной скоростью.

Где редактировать настройки модулей?

Для редактирования настроек модулей пользуйтесь меню
Open Server Panel: [Меню → Дополнительно → Конфигурация].

Куда сохраняются мои письма?

По умолчанию все письма сохраняются во временную папку userdata/tmp/email/, во время остановки сервера эта папка не очищается. Можно настроить отправку писем через удалённый SMTP сервер: [Меню → Настройки → Почта].

Я нажимаю в меню программы на нужный сайт, но ничего не открывается!

Для работы многих пунктов меню требуется наличие корректно установленного и работающего браузера по умолчанию. Так же вы можете напрямую указать свой браузер в настройках программы: [Меню → Настройки → Меню].

Я создал домен local_site.loc, но он не работает!

Символа подчеркивания не может быть в имени домена, поэтому такой домен не подключается. Разрешенные символы: [a-z0-9.-].

Сервер не стартует с ip 192.168.0.1 и говорит что localhost работает только на ip 127.0.0.1!

Действительно, домен localhost можно использовать только с ip адресом 127.0.0.1, поэтому либо переименуйте этот домен, либо удалите его, если он вам не нужен.

Я хочу работать без виртуального диска!

Выберите в настройках
Open Server Panel работу без виртуального диска и скопируйте папку с сервером в такую директорию, путь до которой содержит только латиницу или цифры, в противном случае работа без вирт. диска будет невозможна.

Я не вижу виртуального диска!

Если вы работаете не под учётной записью администратора, но
Open Server Panel запущен с правами администратора, то виртуальный диск (если он используется) будет для вас недоступен.
Open Server Panel при этом будет работать нормально. Вы можете отключить использование виртуального диска в настройках, при этом учитывайте требования к абсолютному пути описанные в предыдущем ответе.

Сервер запускается, но браузер говорит что домен не найден!

Если в вашем браузере настроена работа через прокси сервер, то локальные сайты будут ему недоступны. Чтобы исправить ситуацию откажитесь от использования прокси в вашем браузере или добавьте локальные домены и IP адрес сервера в список исключений для прокси в настройках обозревателя. В ряде случаев нужно пересоздать файл HOSTS (см. Решение проблем).

Для чего нужна настройка вывода закладок вместо сайтов?

В таком режиме созданные закладки отображаются вместо списка доменов, это будет полезно при создании демо-сборок с установленными скриптами (см. Создание сборок).

Мне трудно пересоздавать закладки, пользователей FTP и т.д, нужно их просто отредактировать!

Не нужно пересоздавать записи заново, просто сделайте двойной клик на интересующей вас записи в таблице после чего эта запись сразу же удалится из списка и будет вынесена обратно в поля редактирования. Не забудьте добавить отредактированную запись обратно в таблицу!

Подключение к базе данных длится более 1 сек!

Отключите использование протокола IPv6 используя инструкцию из раздела Решение проблем данного руководства.

Я скопировал в папку с доменом свой скрипт, после перезапуска сервер не видит файлов и показывает ошибку!

Скорее всего вы скопировали или создали такую подпапку в папке с доменом, имя которой подпадает под условия автоматического поиска корневой папки домена (см. Домены и алиасы).

Сервер постепенно занял всё место на диске!

Постепенное исчезновение свободного места говорит о том, что вы отключили автоочистку логов при запуске сервера. В результате при активном использовании сервера лог-файлы вырастают до огромных размеров и занимают всё свободное место на диске. Очистите лог-записи в окне просмотра логов и включите автоочистку логов при старте в настройках
Open Server Panel. Очистите папку .userdatatmp от временных файлов.

Как мне создать собственную конфигурацию хоста для домена?

Используйте шаблон конфигурации виртуального хоста в папке с нужным доменом для создания особой конфигурации домена. При создании/изменении файла требуется перезапуск сервера. Шаблон конфигурации для нужного модуля можно найти в папке ./userdata/config/.

Например, если вы хотите создать собственную конфигурацию домена xxx.ru для модуля Apache-2.4.2, то скопируйте файл ./userdata/config/Apache-2.4.3_vhost.conf в папку с нужным доменом, отредактируйте этот файл под свои нужды и перезапустите сервер.

Или другой пример, при использовании модуля Apache+Nginx можно скопировать в папку домена оба файла конфигурации для каждого сервера: Apache-2.2.23+Nginx-1.2.4_vhosta.conf и Apache-2.2.23+Nginx-1.2.4_vhostn.conf.

Обратите внимание — при редактировании конфигурации хоста нельзя удалять или заменять системные переменные %…%, вы можете вносить только новые записи дополняющие конфигурацию.

Как и где редактируются конфиги компонентов?

В
Open Server Panel используются файлы-шаблоны конфигурации, которые доступны через общее меню программы. Не пытайтесь редактировать временные файлы конфигов, которые создаются в момент запуска сервера, это не имеет смысла. Шаблоны конфигурации индивидуальны для каждого модуля, т.е. если вы выберите какой-либо из модулей в качестве активного, то будут активированы и шаблоны настроек именно этого модуля. Например: вы сконфигурировали шаблон файла php.ini при активном модуле PHP 5.2, после чего выбрали модуль PHP 5.3 в качестве активного. В этом случае вам необходимо еще раз сконфигурировать шаблон файла php.ini уже для модуля PHP 5.3.

Сами шаблоны настроек для всех модулей и инструментов хранятся в папке ./userdata/config/, их нельзя использовать как реальные конфиги и указывать при запуске модулей, консолей и скриптов. В процессе запуска шаблоны конфигурации проходят через парсер, который заменяет все переменные-подстановки на реальные данные и сохраняет уже готовые файлы конфигурации в папку ./userdata/temp/config/.

Как указать особые настройки подключения к SMTP серверу для выбранного домена?

В
Open Server Panel существует возможность отправки почты через сторонний SMTP сервер, при этом все домены используют те параметры подключения, которые были указаны пользователем в окне настроек
Open Server Panel. Для того чтобы определённый домен мог использовать собственные настройки подключения к SMTP серверу нужно указать их в шаблоне конфигурации этого хоста. Откройте шаблон конфигурации виртуального хоста (как его создать описано в предыдущем ответе) в папке с нужным доменом и добавьте в описание хоста следующее содержимое (одной строкой):

php_admin_value sendmail_path "%mailway% -t --smtp-ssl=none --smtp-server=smtp.xxx.xx --smtp-port=xx --smtp-from=xxx@xxx.xx --smtp-user=xxx@xxx.xx --smtp-pass=xxxxxx --pop3-server=pop3.xxx.xx --pop3-user=xxx@xxx.xx --pop3-pass=xxxxxx"

Например:

<VirtualHost *:%httpport%>
  %limit%
  DocumentRoot "%hostdir%"
  ...
  php_admin_value sendmail_path "%mailway% -t --smtp-ssl=none --smtp-server=smtp.xxx.xx --smtp-port=xx --smtp-from=xxx@xxx.xx --smtp-user=xxx@xxx.xx --smtp-pass=xxxxxx --pop3-server=pop3.xxx.xx --pop3-user=xxx@xxx.xx --pop3-pass=xxxxxx"
  ...
</VirtualHost>

Последнюю часть строки —pop3-server=pop3.xxx.xx —pop3-user=xxx@xxx.xx —pop3-pass=xxxxxx добавляйте только в том случае, если требуется авторизация POP3 перед SMTP. Возможные значения для параметра —smtp-ssl= это none,auto,ssl или tls.

Необходимо помнить, что при указании собственных настроек подключения к SMTP серверу отправка почты для выбранного домена будет работать не зависимо от основных настроек
Open Server Panel. Так же обратите внимание на то, что все данные SMTP сервера включая логин и пароль будут доступны в php скриптах и видны в информации phpinfo(), поэтому в целях безопасности не рекомендуется пользоваться описанной возможностью указания настроек отправки почты в конфиге хоста.

Решение проблем

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

  1. Запустите установщик
    Open Server Panel и не выбирая никакие компоненты к установке перейдите к окну выбора доп. задач и выполните установку DLL библиотек, настройку системы и прав доступа к файлам.
  2. Убедитесь что IP адрес, заданный в настройках, существует (кроме [*]). Так же убедитесь что все другие настройки программы корректны.
  3. Добавьте
    Open Server Panel в доверенные программы вашего файрвола/антивируса или настройте их должным образом, если таковые имеются.
  4. Запустите [Меню → Просмотр логов], попробуйте найти причину проблемы и устранить её (если это возможно).
  5. Включите в настройках
    Open Server Panel опцию [Запускать сервер в отладочном режиме] и попробуйте найти причину проблемы и устранить её (если это возможно).
  6. Выполните через консоль (запускать от имени Администратора) следующую команду: attrib -s -r -h -a C:Windowssystem32driversetchosts
  7. Активируйте службу DNS если она отключена и запустите её, отключите все службы в имени которых присутствует IIS.
  8. Отключите глобальные прокси и проксификаторы если они установлены на вашем компьютере.

Информация

Очень распространённая проблема это занятый порт 80, занимает его обычно программа Skype. Для устранения проблемы перейдите в [Настройки Skype → Дополнительно → Соединение] и снимите галочку с пункта [Использовать порты 80 и 443 в качестве альтернативных].

Контроль учётных записей пользователей (UAC)

При включённой службе контроля учётных записей пользователей (UAC) и запуске без прав администратора
Open Server Panel не будет иметь доступа к HOSTS файлу и автоматически перейдёт в ограниченный режим работы. Как правило, об ограниченном режиме сигнализирует наличие только одного домена localhost в меню программы, в то время как ранее были созданы и другие домены. Чтобы исправить ситуацию включите опцию [Требовать учётную запись Администратора] в настройках
Open Server Panel и перезапустите программу, либо отключите контроль учётный записей (UAC).

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

  1. Использование встроенного DNS сервера (настройка согласно Руководства);
  2. Активация опции [Не вносить изменения в HOSTS файл] + ручное редактирование этого файла;
  3. Установить разрешающие права записи в HOSTS файл для всех пользователей Windows;
  4. Отказ от возможности управления доменами и работа с единственным доменом localhost;

Создание сборок

Что это такое и зачем это нужно?

Например у вас есть свой проект (допустим некая CMS), который вы бы хотели сделать доступным на своём сайте в качестве демо-версии для потенциальных клиентов, показать заказчику или попросту сделать демонстрационный пакет на все случаи жизни. Нужно чтобы ваш программный продукт работал одинаково хорошо у всех, в одинаковой конфигурации, уже был установлен и готов для работы или ознакомления. В этом вам как раз и поможет
Open Server Panel.

Вы сможете создать готовый и самое главное рабочий мини-сервер с уже установленным скриптом, CMS системой, сайтом, проектом и т.д., а вашим клиентам останется его только скачать и запустить. Ваш продукт будет изначально работоспособен, не потребуется искать для него сервер, не нужно будет выполнять установку, настройку и т.д.

Как создать кастомную сборку

  1. Скачайте дистрибутив
    Open Server Panel Basic последней версии и распакуйте его во временную папку. Перейдите в папку куда был распакован дистрибутив и запустите программу
    Open Server Panel.exe
    .
  2. Удалите ненужные модули в папке ./modules/php/*, ./modules/database/* и ./modules/http/* оставив в папках только по одному модулю, которые будут использоваться для вашего программного продукта. Если вы не планируете использовать модули DNS, Redis и Memcached, то папки с этими модулями так же можно удалить: ./modules/dns/*,./modules/redis/* и ./modules/memcached/* соответственно. Не удаляйте корневые каталоги с подтипом модулей даже если они пусты, это сделает программу неработоспособной.
  3. Нажмите [Меню → Настройки] и выберите для использования те модули, которые вы не удалили. Установите IP адрес сервера в значение 127.0.0.1, отключите [Автоматическую проверку обновлений], не отключайте опцию [Автоматически определять потребность в виртуальном диске]. Установите все другие нужные вам настройки.
  4. Нажмите [Меню → Дополнительно → Конфигурация] и настройте шаблоны конфигурации нужных модулей под ваш продукт (скрипт/сайт/cms), если это необходимо.
  5. Запустите сервер и установите ваш программный продукт (скрипт/сайт/cms) на домен localhost, который присутствует в
    Open Server Panel по умолчанию. Выполните необходимые действия по настройке скрипта после чего выйдите из всех форм авторизации где вы авторизовались (например: личный аккаунт, администрирование и т.д.).
  6. Остановите сервер. Нажмите [Меню → Настройки] и создайте закладки для основных страниц вашего программного продукта (например: Админ-панель, Личный аккаунт, Главная страница). Включите в настройках
    Open Server Panel опцию [Показывать закладки вместо сайтов]. Сохраните настройки.
  7. Нажмите [Меню → Выход] и переименуйте файл программы согласно имени вашего продукта, например ./временная папка/
    Open Server Panel.exe
    в ./временная папка/MegaCMS Server.exe.
  8. Теперь упакуйте содержимое временной папки в самораспаковывающийся архив. Тип и формат архива зависит лишь от предполагаемой формы распространения сборки.
  9. Готово!

Вышеописанным способом вы можете подготавливать не только кастомные сборки, но и dev-пакеты для разработчиков, offline-презентации сайтов, архивы порталов, интерактивные материалы на CD и т.д.

Today’s:

  • Linux Смена пользователя в консоли (терминал) — Как зайти под пользователем (перелогиниться)
  • Pascal Получить случайное число в диапазоне — пример
  • Решение задачи №1 из главы 9
  • Финитное движение — определение
  • #13.1 Вложенные циклы в Паскаль. Примеры кода, решения задач — For, While, Repeat/Until
  • Цикл в подстановке (алгебра) — определение
  • [!] Паскаль — Онлайн Учебник для начинающих изучать программирование с нуля. Справочник. Примеры кода. [Pascal]
  • PHP CURL GET параметры -пример передачи
  • #10 Цикл For в Паскаль. Цикл с известным числом повторений (цикл с параметром). Тело цикла.
  • Решение задачи №2 из главы 9
  • Определить тип переменной с++ = typeid c++ = как определить тип переменной в си++ детектируем — определяем string
  • telegram Сделать админом в группе (чате) — как дать права
  • python Число элементов в списке («массиве») — длина списка — len — как узнать
  • pascal Передача параметров по ссылке и по значению в процедуры и функции — пример
  • Деплой — что это в программировании (deploy)
  • #12.1 Цикл Repeat/Until «с постусловием» в Паскаль
  • #1 Начало программирования. Минимальная программа. Комментарии в коде. Тело программы и операторные скобки. Паскаль
  • drop TEMPORARY TABLE mysql удалить временную таблицу
  • Теория Информации подготовка к экзамену -разбор вопросов — полезно прочитать .
  • Как изменяется внутренняя энергия идеального газа при адиабатном расширении?
  • Декомпозиция кода/частей инф. системы — что это такое
  • Ошибка — Illegal offset type in isset or empty = РЕШЕНИЕ
  • Буквы греческого алфавита латекс LaTeX — таблица всех букв греческого алфавита
  • latex Ссылки на интернет-страницы, WEB сайты — гиперссылки — пример
  • Рынок земли. Спрос и предложение земли. Рента и ее формы. Цена земли.
  • #14 Процедуры и функции в Паскаль. Как объявлять и использовать
  • if __name__ == «__main__» : main() = ПИТОН — что это значит эта строка = __main__ — Top-level script environment =
  • Пул (pool) — что это в программировании
  • ubuntu установка Git — инструкция
  • Простой сайт (CMS) на PHP, SQL (mysql) HTML/CSS — Пример создания

fkn.ktu10.com

Отдельно скачивать php_xdebug.dll или устанавливать с официального сайта смысла нет, он идет в поставке с OpenServer к каждой версии php. Использую PhpStorm 10.0

1. Настройки у OpenServer почти под все версии одинаковы, но на всякий случай укажу свою

Версия OpenServer

2. Расположение php.ini в OpenServer

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

3. Содержание Xdebug в php.ini

;; Должен быть по двум путям:

;; C:OpenserveruserdataconfigPHP-5.6_php.ini

;; C:OpenServermodulesphpPHP-5.6php.ini

;;

[Xdebug]

zend_extension=“c:/openserver/modules/php/PHP-5.6/ext/php_xdebug.dll”

xdebug.default_enable = 1

xdebug.auto_trace = 0

xdebug.collect_includes = 1

;xdebug.collect_params = 4

;xdebug.collect_return = 1

;xdebug.collect_assignments = 1

;xdebug.collect_vars = 1

xdebug.dump.REQUEST = *

xdebug.dump.SESSION = *

xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD

;xdebug.dump.COOKIE =

;xdebug.dump.FILES =

;xdebug.dump.GET =

;xdebug.dump.POST =

xdebug.dump_globals = 1

xdebug.dump_once = 1

xdebug.dump_undefined = 1

xdebug.extended_info = 1

;xdebug.file_link_format = “”

xdebug.idekey = “PHPSTORM”

;xdebug.manual_url = “http://www.php.net”

xdebug.max_nesting_level = 256

xdebug.overload_var_dump = 1

;xdebug.profiler_append = 1

xdebug.profiler_enable = 0

xdebug.profiler_enable_trigger = 1

xdebug.profiler_output_dir=“c:/openserver/userdata/temp/xdebug/”

xdebug.profiler_output_name = “cachegrind.out.%H%R”

xdebug.remote_autostart = 1

xdebug.remote_enable = 1

;xdebug.remote_handler = “dbgp”

;xdebug.remote_host = “localhost”

;xdebug.remote_log = “none”

;xdebug.remote_mode = “req”

xdebug.remote_port = 9000

;xdebug.scream = 1

;xdebug.show_exception_trace = 0

;xdebug.show_local_vars = 1

;xdebug.show_mem_delta = 1

;xdebug.trace_format = 1

;xdebug.trace_options = 1

xdebug.trace_output_dir = “c:/openserver/userdata/temp/xdebug/”

xdebug.trace_output_name = “trace.%H%R”

xdebug.var_display_max_children = 256

;xdebug.var_display_max_data = 1024

xdebug.var_display_max_depth = 16

;xdebug.remote_cookie_expire_time = 3600

4. Настройка OpenServer

Настройка OpenServer

5. Домены OpenServer, я часто при разработке использую домены без (.ru,.com и тд.), у Вас могут отличаться!!!

Домены

6. Добавление PhpStorm в закладки

Добавление PhpStorm в закладки

7. Запуск PhpStorm из закладок. В этом случае PhpStorm будет работать с локальными переменными OpenServer

Запуск PhpStorm из закладок

8. Открываем настройки PhpStorm, комбинацией клавиш: Ctrl + Alt + S. Выбираем интерпретатор указанный в настройках OpenServer

Выбираем интерпретатор указанный в настройках OpenServer

9. Установка портов

Установка портов

10. Указание IDE Key, такой же как и в php.ini

Указание IDE Key, такой же как и в php.ini

11. Добавляем сервер Отладки

Добавляем сервер Отладки

12. Конфигурация отладчика. Главное меню PhpStorm: Run > Edit Configurations…

Нажимаем на зеленый плюс и выбираем “PHP Web Application”, указываем Name, Sever(созданный выше), URL вашего сайта, и браузер в котором будет проводиться отладка

Конфигурация отладчика

Ну вот и все PhpStorm настроен на отладку!

А теперь проверим его в работе!

Быстрая проверка xDebug’a:
1. Меню отладки PhpStorm Run, установите “Break at fist line in PHP script” — брекпоинт(точка останова) на инициализации сайта(index.php)
Меню Отладки
2. Нажмите “Start Listening for PHP Debug Connections” — основная кнопка для перехвата дебага в момент работы скриптов
3. Перейдите в браузер Chrome, обновите любую страницу на локальном сайте
4. В момент загрузки страницы PhpStorm перехватит фокус на себя и покажет точку остановки.
Остановка на брекпоинте
5. Также в низу окна PhpStorm отобразится окно отладки, для подробного изучения переменных перейдите во вкладку “Debugger”
6. Проход по строкам в обход функций F8, с заходом F7, продолжение работы скрипта F9.
7. Не забудьте снять галку с “Break at fist line in PHP script” — иначе страницы на сайте не будут грузиться
8. “Stop Listening for PHP Debug Connections” — для остановки отладки на сайте!

Также “Run > Start Listening for PHP Debug Connections” перехватывает обработку phpMyAdmin, не забывайте перед входом в phpMyAdmin нажимать “Stop Listening for PHP Debug Connections”

В последующем просто ставьте “Точки останова” на необходимых строках и “Run > Start Listening for PHP Debug Connections” и обновляйте страницу в браузере!

Если есть вопросы пишите в ВК чат

Всем удачного программинга!

www.glebrain.ru

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

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

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

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

Установка

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

Openserver php ini

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

Настройка

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

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

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

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

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

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

Openserver php ini

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

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

Включение акселератора OPCache

Помните в прошлой статье я говорил об акселераторе? Давайте включим его. Это делается в файле php.ini. Для того, чтобы отредактировать его, щелкнем правой кнопкой мыши по флажку и выберем пункт Дополнительно > Конфигурация > PHP-7. Здесь нужно убрать комментарии для строк:

zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_opcache.dll" opcache.enable=1

Должно получиться так:
Openserver php ini

Сохраняем файл. На этом конфигурация завершена.

webshake.ru

В одном из прошлых постов мы рассказывали про PEAR, это, так сказать, вводная статья или краткий ликбез что такое PEAR.

Теперь настало то самое время, чтобы установить его на наш компьютер.

Замечание. Предполагается, что у вас установлен уже рабочий сервер с интерпретатором PHP 5.x.x, насчет ранних версий не знаю, не устанавливал.

1). Для начала нам необходимо скачать дистрибутив с официального сайта, который доступен по оригинальной ссылке http://pear.php.net/go-pear.phar и весит где-то 4 мБ.

Следует отметить, что PEAR может уже быть в дистрибутиве PHP 5, если нет то скачайте и добавьте его, как выше указано ;

2). Открываем окно командной строки и перемещаемся в папку PEAR в установленном PHP, набрав команду:

C:UserWebSofter>cd C:OpenServermodulesphpPHP-5.5.4PEAR;

3). Создаем в корневой папке php C:OpenServermodulesphpPHP-5.5.4  файл с  go-pear.bat , этот bat файл нам необходим, чтобы задать в командной строке последовательность операций для настройки нашего PEAR. Открываем этот файл в любом текстовом редакторе и пишем внутри код:

@ECHO OFF  set PHP_BIN=php.exe  %PHP_BIN% -d output_buffering=0 PEARgo-pear.phar  pause

Следует отметить, что файл  go-pear.bat может уже быть в дистрибутиве, если нет то добавьте его, как выше указано с кодом;

4). Открываем окно командной строки и заходим в папку с файлом go-pear.bat, набрав следующую команду:

C:UserWebSofter>cd C:OpenServermodulesphpPHP-5.5.4go-pear.bat

и жмем на ENTER, мы запусти файл go-pear.bat и на экране выводится текст с просьбой подтверждения и вводим букву l + yes,

1

выведется список путей установки и порядковый номера и набираем цифру 11 , жмем ENTER и указываем путь к

4

конфигурационному файлу pear.ini, который находится в корневой папке PHP, иначе говоря вводим путь к этому файлу в виде C:OpenServermodulesphpPHP-5.5.4pear.ini и жмем ENTER. Далее жмем цифру 12 и жмем ENTER,

7

вводим путь к корневой папке PHP C:OpenServermodulesphpPHP-5.5.4 и жмем ENTER и еще раз ENTER.

5). Чтобы пройти дальше нам нужно запустить команды PHP и чтобы эти команды выполнялись в командной строке нам необходимо будет удостовериться, что в Переменных средах указан путь к корневой папке PHP и для этого заходим в ПУСК курсором на Компьютер жмем правую кнопку мыши, из списка выбираем самый нижний пункт свойства, заходим на страницу с информацией ОС, смотрим слева и видим там пункт наверху Дополнительные параметры системы, жмем на него, выскакивает окошко и там жмем на кнопку Переменные среды видим в верхней части переменную Path и пути разные, которые отделяются друг от друга точкой с запятой, вот ставим точку запятую к последнему пути и вставляем наш путь в виде C:OpenServermodulesphpPHP-5.5.4, все , указали, сохраняем и выходим;

6). Открываем файл конфигурации PHP , у меня он лежит в папке C:OpenServeruserdataconfigPHP-5.5.4_php.ini и находим пункт

include_path = ".;%sprogdir%/modules/php/%phpdriver%/;%sprogdir%/modules/php/%phpdriver%/PEAR"

и смотрим , чтобы был указан правильный путь к папке PEAR;

7).  Создаем в корне PHP файл pear.bat со следующим кодом :

IF "%PHP_PEAR_SYSCONF_DIR%"=="" SET  "PHP_PEAR_SYSCONF_DIR=С:OpenServermodulesphpPHP-5.5.4"

8). В корне создадим еще один файл go-pear-conf.bat для донастройки конфигурационного файла pear.ini со следующим кодом:

@echo off  pear config-set auto_discover 1 & pear config-set doc_dir C:OpenServermodulesphpPHP-5.5.4docs & pear config-set ext_dir C:OpenServermodulesphpPHP-5.5.4ext & pear config-set cache_dir C:OpenServermodulesphpPHP-5.5.4tmppearcache & pear config-set cfg_dir C:OpenServermodulesphpPHP-5.5.4cfg & pear config-set data_dir C:OpenServermodulesphpPHP-5.5.4data & pear config-set download_dir C:OpenServermodulesphpPHP-5.5.4tmppeardownload & pear config-set temp_dir C:OpenServermodulesphpPHP-5.5.4tmppeartemp & pear config-set test_dir C:OpenServermodulesphpPHP-5.5.4testspeartests & pear config-set www_dir C:OpenServermodulesphpPHP-5.5.4wwwpearwww & pear config-set sig_bin C:OpenServermodulesphpPHP-5.5.4gnupggpg.exe & pear config-set sig_keydir C:OpenServermodulesphpPHP-5.5.4pearkeys & echo. & echo PEAR settings changed and written down to pear.ini & echo Thats all, press any key to exit. & pause  

и запускаем его через командную строку;

9). Чтобы проверить, что у нас все установилось правильно и что PEAR функционирует запустим в режиме командной строки команду pear C:UserWebSofter> pear config-show , который выведет весь список PEAR-команд;

8

10). В дистрибутиве PHP 5.5.x PEAR уже включена и необходимость в скачивании отпадает, только если вы не хотите обновить PEAR, нужно отметить, что данная настройка проводилась со сборкой OpenServer, так что, если вы настраиваете локальный сервер на других сборках на подобие Денвера, то особой разницы нет, главное присмотреть, чтобы пути к корневым папкам и файлам совпадали. Удачного дня! );

websofter.ru

Скачав последнюю версию laravel и настроив рабочее окружение, попытался выполнить в консоли:
php artisan migrate:install
could not find driver

Как видите: тут меня ждал облом. Вначале я стал грешить на неверные настройки mysql. Но сам сайт великолепно работал. И я пошел гуглить. Не буду описывать все попытки решить данную проблему. Сразу приведу 2 готовых совета.

Закладки

Запускаем Open Server. Переходим в настройки. Выбираем вкладку «Закладки». Заполняем поля:
Имя: Консоль
Категория: Tools
Выполнить: cmd

Жмем «добавить».
Теперь мы можем запускать «правильную» консоль через меню «Мои закладки».

Данный способ прост. Но он не подходит при интеграции различных IDE с PHP. Для этого случая стоит воспользоваться вторым советом.

Символическая ссылка

В силу специфики работы самого Open Server для решения данной проблемы необходимо создать символическую ссылку на файл /userdata/temp/config/php.ini. Проще всего это сделать, используя FAR-менеджер, или любой другой инструмент. Для продвинутых пользователей есть консольная команда mklink:

ВНИМАНИЕ. Путь для источника и назначения указывается относительно вашего каталога с Open Server! При выборе каталога с назначением выбираем нужную версию PHP!
mklink "z:SoftOpen Serveruserdatatempconfigphp.ini" "z:SoftOpen ServermodulesphpPHP-5.3.14php.ini"

P.S. Для того чтобы не писать каждый раз путь к php.exe, воспользуемся еще одним финтом. Нам нужно добавить в переменную PATH путь к каталогу с php.exe. Для этого нужно открыть Дополнительные параметры системы. Это можно сделать тремя способами:

1. Нажимаем вместе сочетание клавиш «WIN+R», вводим control sysdm.cpl.
2. ПКМ по иконке «Мой компьютер» → Свойства → Дополнительные параметры системы
3. Панель управления → Система → Дополнительные параметры системы

Появится окно с несколькими вкладками. Нас интересует вкладка «Дополнительно», в которой выбираем «Переменные среды…».
В появившемся окне находим переменную PATH и жмем «Изменить…»

ВНИМАНИЕ. Ни в коем случае не удаляйте значение переменной! Необходимо дописать в конец
;z:SoftOpen ServermodulesphpPHP-5.3.14

После чего открываем консоль. Переходим в каталог с проектом:
Z:SoftOpen Server> cd domainslgnd.local

Набираем нужную команду:
Z:SoftOpen Serverdomainslgnd.local> php artisan migrate:install
Migration table created successfully.

Все работает.

tarlyun.com

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

Не так давно мне попалась (по совету коллеги) интересная бесплатная сборка для веб-разработчика под Windows — Open Server. Достаточно функциональный и простой в использовании продукт. Однако, для быстрого старта, вам не помешает несколько подсказок.

1. Скачиваем Open Server. Для работы будет достаточно «Базовой редакции».

Openserver php ini

2. Установка. Распаковываем архив на диск (можно на диск С: или в любое другое место). Также может понадобиться установка дополнительных программ (Visual C++ …), устанавливаем их (установка длительная).

Openserver php ini

Openserver php ini

Openserver php ini

3. Запускаем Open Server x64 (или x86, зависит от версии вашей операционной системы). После запуска в зоне области уведомлений появится «флажок» (иконка Open Server’а).

Openserver php ini

4. Стартуем сервер. Нажимаем на флажок, затем «Запустить».

Openserver php ini

Возможно, потребуется разрешить работу:

Openserver php ini

5. Проверяем работоспособность. Заходим на http://localhost/

Openserver php ini

6. Настройка версий. Заходим в настройки Open Server:

Openserver php ini

Во вкладке «Модули» можно указать нужную версию PHP, Apache и т.д. Рекомендую такие версии:

Openserver php ini

После нажатия кнопки «Сохранить» программа предложит перезапустить сервер. Выполните это действие для применения новых настроек.

7. Готово. В следующей статье я покажу как конфигурировать локальные домены и развернуть проект PHP Start.

Назад в блог


Поделитесь в социальных сетях

php-start.com

1. подготовка
xdebug уже встроен в OpenServer и качать нам его не понадобится

если все же нужен другой релиз xdebug его можно скачать отсюда http://xdebug.org/download.php
и переместить в
e:OpenServermodulesphpPHP-5.4.17ext
не забыв прописать в php.ini путь к нему (zend_extension)

——

2. редактируем php.ini (e:OpenServeruserdataconfigPHP-5.4.17_php.ini)
должны быть эти обязательные настройки перезапускаем OpenServer
смотрим чтобы была временная папка xdebug >
e:OpenServeruserdatatempxdebug

——

3. добавляем в браузер закладки со страницы http://www.jetbrains.com/phpstorm/marklets/ после нажатия Generate (IDE key: PHPSTORM)

Изображение

код закладок имеет такой вид >

Start debugger Stop debugger Debug this page Start profiler Stop profiler Start tracer Stop tracer в гугл хроме после добавления закладок используем ctrl+shift+O для перемещения их в удобное место — отмечаем на шифте их и перетягиваем в начало списка закладок
ctrl+shift+B отображает / скрывает панель закладок сверху страницы

——

4. настройка PHPStorm

Изображение

Изображение

File > Settings > PHP >
PHP language level: > выбираем соответствующую версию пхп (5.4)
Interpreter > кликаем на …
PHP Home > корневой путь к пхп (E:OpenServermodulesphpPHP-5.4.17)
Debugger > Xdebug
Name > PHP (можно любое другое)

File > Settings > PHP > Servers >
Name: > любое
Host > домен создаваемого сайта (например: myblog.ru)
Port > 80

Изображение

Run > Edit Configuration > Defaults > PHP Remote Debug >
Servers > сервер указанный в пред. настройке
Ide key(session id): > PHPSTORM

Изображение

——

5. открываем нужную страницу в браузере которую будем отлаживать
нажимаем с закладок Start debugger (у меня start Xdebug, кому как удобно название)

Изображение

в phpstorm включаем Listen PHP Debug Connections (значок телефонной трубки)
в коде сайта определяем точку остановки > Ctrl + F8

Изображение

ОБНОВЛЯЕМ страницу в браузере, тем самым увидели остановку сайта и перехват штормом всех данных, которые получили до точки прерывания

Изображение

——

6. профилирование в phpstorm
нажимаем с нужной страницы сайта Start profiler, обновляем, переходим по страницам сайта для отслеживания их работы
этим мы записали лог выполнения скриптов страниц в файлы > e:OpenServeruserdatatempxdebugcachegrind.out.[путь_к_странице]
где каждой странице создается файл
если обновить или зайти по уже ранее открытой странице сайта, обновится содержимое лог-файла
когда прекратили сбор информации нажимаем с закладок Stop profiler

нажимаем в шторме
Tools > Analyze Xdebug Profiler Snapshot > выбираем файл профилирования
(E:OpenServeruserdatatempxdebugcachegrind.out……………..)

Изображение

Изображение

все файлы логов работы страниц будут храниться во временной папке …userdatatempxdebug до очередного запуска OpenServer (то есть сотрутся если нажать перезапустить сервер или остановить, запустить)
но после остановки сервера файлы профилирования все еще сохраняются

з.ы. за основу использовался материал отсюда > http://webdev-tales.ru/post/19072925255 … g-phpstorm

Изображение

yiiframework.ru

При обновлении OpenCart 3.0.3.2 до версии 3.0.3.7 на Open Server, получил ошибку при попытке выполнить обновление:

Fatal error: Maximum execution time of 60 seconds exceeded

Данная ошибка означает, что выполнение определенной операции, привело к превышению временного лимита, указанного в конфигурации PHP. Вы можете изменить значение этого параметра, который указывается в секундах. По умолчанию в Open Server выставлен лимит в 60 секунд, для параметра «max_execution_time» в настройках PHP. Зачастую, выполнение скрипта не превышает 30 сек и данного лимита в 60 секунд, должно вполне хватать.

Если данная ошибка, возникает у вас на хостинге, настоятельно рекомендую обратиться к вашему хостинг-провайдеру для решения данной проблемы. На некоторых виртуальных хостингах (shared-хостинг), может стоять лимит на 30 секунд и нет возможности изменить его через админку.

Если у вас возникает ошибка «Fatal error: Maximum execution time of 60 seconds exceeded» при работе с Open Server, необходимо изменить время для выполнения скрипта в конфигурации PHP. Рассмотрим два способа, как это сделать.

На заметку.
Не пытайтесь вносить правки в файл конфигурации PHP по пути: «C:OpenServermodulesphpPHP-ваша_версия». Файл «php.ini» находящийся по данному пути, является временным и его бесполезно править. При перезапуске Open Server, файл перезаписывается с настройками по умолчанию. Ниже, описаны рабочие способы, которые помогут произвести нужные манипуляции с параметрами PHP.

Способ 1.

Увеличить лимит времени «max_execution_time», через интерфейс Open Server.

Открываем системный трей (1.) и щелкаем правой кнопкой мыши по флажку (2.) Open Server. Переходим по пути:

«Дополнительно» (3.) -> «Конфигурация» (4.) -> «PHP_7.3» (5.)

Обратите
внимание, что у вас, может отличатся версия PHP, в зависимости от того, какую версию вы выбрали. В моем примере, это PHP 7.3.

В открывшемся окне

ищем:

max_execution_time

Чтобы найти быстро нужный параметр, можно воспользоваться поиском. Выберите «Поиск» -> «Найти»:

В открывшемся поле поиска (1.), вставляем «max_execution_time» (без кавычек) и получаем результат (2.):

Теперь, меняем лимит «60», на «6000» к примеру. Или, на любой другой показатель. В своем примере, изменю лимит «max_execution_time» на «6000»:

Сохраняем изменения. Для этого, нажимаем: «Файл» -> «Сохранить».


Закрываем окно и перезапускаем сервер Open Server. Для этого, открываем системный трей (1.) и щелкаем по флажку (2.) правой кнопкой мыши, выбираем «Перезапустить» (3.):

После этого, все должно работать.

Стабильный и доступный виртуальный хостинг и VPS для сайтов любой любой сложности и нагруженности. Защита от DDoS и качественное администрирование. Хостинг-провайдер для тех, кто ценит стабильность и безопасность.

Способ 2. 

Увеличить лимит времени «max_execution_time», через сторонний редактор кода в Open Server.

Идем по пути:

C:OpenServeruserdataconfigваша_версия_PHP

В папке config, необходимо найти файл «PHP_ваша_версия_php.ini».

В моем примере, выберу файл «PHP_7.3_php.ini»:

Чтобы открыть файл и раскомментировать «ionCube» в конфигурации PHP, используйте Notepad++ или любой другой редактор.

Для правки файлов, есть удобный редактор Visual Studio Code: https://code.visualstudio.c…
Есть русский язык: https://marketplace.visuals…

Открываем файл «PHP_ваша_версия_php.ini» и ищем

max_execution_time

 В своем примере, воспользуюсь редактором Visual Studio Code и открою в нем файл «PHP_7.3_php.ini»:

Теперь, чтобы быстро найти расширение «max_execution_time», открываем «Правка» -> «Найти»:

В поле поиска (1.), вставляем «max_execution_time» (без кавычек) и получаем результат (2.):


Теперь, меняем лимит «60», на любой другой
показатель который нужен. В своем примере, изменю лимит «max_execution_time» на
«6000»:

Сохраняем изменения. Для этого, нажимаем: «Файл» -> «Сохранить».


Закрываем окно и перезапускаем сервер Open Server (смотрим скрины выше из Способ 1).

Таким образом, мы изменили с вами лимит «max_execution_time».

После этого, все должно работать. 

По теме: «Как включить ionCube в шаблоне конфигурации PHP на Open Server?»

Надеюсь, данная заметка, будет вам полезной. Успехов.

22 / 15 / 3

Регистрация: 05.11.2013

Сообщений: 425

1

23.02.2015, 14:37. Показов 22709. Ответов 2


Добрый день! Поставил последний Open Server
включил в настройках последний PHP 5.6 и apache 2.4

Хочу отредактировать php.ini для того чтоб не было предупреждний при установке фреймворка YII 2.0

Открываю *OpenServermodulesphpPHP-5.6php.ini

Редактирую, вернее расскоментирую:

extension=php_intl.dll
….
[intl]
intl.default_locale = en_utf8
intl.error_level = E_WARNING

Сохраняю, закрываю, открываю — изменения сохранены.

Перезагружаю Open server, открываю php.ini, изменения откатываются назад. Не подскажете, в чем дело?)

Добавлено через 7 минут
редактирую phpstorm

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



В экстазе

168 / 152 / 38

Регистрация: 05.08.2012

Сообщений: 767

Записей в блоге: 3

23.02.2015, 23:42

2

Лучший ответ Сообщение было отмечено Loompy как решение

Решение

Loompy, попробуйте открыть файл каким-нибудь блокнотом (мне по ряду параметров нравится Notepad++), и… сохранить его. А ещё лучше, открыть/отредактировать/сохранить его таким образом, которым предлагает делать это сам OpenServer: (см. приложение).

Если не сохраняется — проблема с правами на файл. В этом случае, программу которая запускает редактор — можно/нужно запустить с правами администратора (например, запустить блокнот с правами администратора, затем открыть в нём файл и сохранить) или запустить OpenServer с правами администратора, а он в свою очередь запустит «блокнот» с теми же правами…

Вероятность того, что откат происходит именно во время запуска сервера — около нуля, но если это так, «поймать» этот момент позволяет Notepad++, который следит за изменениями открытых файлов. Если проблема именно в «откате» — будем думать дальше, а пока… нужно убедится, что всё именно «так».

Миниатюры

Open Server не сохраняет изменения в php.ini
 



7



22 / 15 / 3

Регистрация: 05.11.2013

Сообщений: 425

24.02.2015, 17:07

 [ТС]

3

Цитата
Сообщение от wolfalone
Посмотреть сообщение

А ещё лучше, открыть/отредактировать/сохранить его таким образом, которым предлагает делать это сам OpenServer: (см. приложение).

спасибо! сделал через сам OpenServer, изменения сохранились.

Добавлено через 40 секунд
Notepad++ у меня тоже стоит как альтернативный, мне нравится тем что у него никогда кодировка не ломается)



0



[PHP] ;;;;;;;;;;;;;;;;;;; ; About php.ini ; ;;;;;;;;;;;;;;;;;;; ; PHP’s initialization file, generally called php.ini, is responsible for ; configuring many of the aspects of PHP’s behavior. ; PHP attempts to find and load this configuration from a number of locations. ; The following is a summary of its search order: ; 1. SAPI module specific location. ; 2. The PHPRC environment variable. (As of PHP 5.2.0) ; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) ; 4. Current working directory (except CLI) ; 5. The web server’s directory (for SAPI modules), or directory of PHP ; (otherwise in Windows) ; 6. The directory from the —with-config-file-path compile time option, or the ; Windows directory (C:windows or C:winnt) ; See the PHP docs for more specific information. ; http://php.net/configuration.file ; The syntax of the file is extremely simple. Whitespace and lines ; beginning with a semicolon are silently ignored (as you probably guessed). ; Section headers (e.g. [Foo]) are also silently ignored, even though ; they might mean something in the future. ; Directives following the section heading [PATH=/www/mysite] only ; apply to PHP files in the /www/mysite directory. Directives ; following the section heading [HOST=www.example.com] only apply to ; PHP files served from www.example.com. Directives set in these ; special sections cannot be overridden by user-defined INI files or ; at runtime. Currently, [PATH=] and [HOST=] sections only work under ; CGI/FastCGI. ; http://php.net/ini.sections ; Directives are specified using the following syntax: ; directive = value ; Directive names are *case sensitive* — foo=bar is different from FOO=bar. ; Directives are variables used to configure PHP or PHP extensions. ; There is no name validation. If PHP can’t find an expected ; directive because it is not set or is mistyped, a default value will be used. ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression ; (e.g. E_ALL & ~E_NOTICE), a quoted string («bar»), or a reference to a ; previously set variable or directive (e.g. ${foo}) ; Expressions in the INI file are limited to bitwise operators and parentheses: ; | bitwise OR ; ^ bitwise XOR ; & bitwise AND ; ~ bitwise NOT ; ! boolean NOT ; Boolean flags can be turned on using the values 1, On, True or Yes. ; They can be turned off using the values 0, Off, False or No. ; An empty string can be denoted by simply not writing anything after the equal ; sign, or by using the None keyword: ; foo = ; sets foo to an empty string ; foo = None ; sets foo to an empty string ; foo = «None» ; sets foo to the string ‘None’ ; If you use constants in your value, and these constants belong to a ; dynamically loaded extension (either a PHP extension or a Zend extension), ; you may only use these constants *after* the line that loads the extension. ;;;;;;;;;;;;;;;;;;; ; About this file ; ;;;;;;;;;;;;;;;;;;; ; PHP comes packaged with two INI files. One that is recommended to be used ; in production environments and one that is recommended to be used in ; development environments. ; php.ini-production contains settings which hold security, performance and ; best practices at its core. But please be aware, these settings may break ; compatibility with older or less security conscience applications. We ; recommending using the production ini in production and testing environments. ; php.ini-development is very similar to its production variant, except it’s ; much more verbose when it comes to errors. We recommending using the ; development version only in development environments as errors shown to ; application users can inadvertently leak otherwise secure information. ;;;;;;;;;;;;;;;;;;; ; Quick Reference ; ;;;;;;;;;;;;;;;;;;; ; The following are all the settings which are different in either the production ; or development versions of the INIs with respect to PHP’s default behavior. ; Please see the actual settings later in the document for more details as to why ; we recommend these changes in PHP’s behavior. ; display_errors ; Default Value: On ; Development Value: On ; Production Value: Off ; display_startup_errors ; Default Value: Off ; Development Value: On ; Production Value: Off ; error_reporting ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED ; Development Value: E_ALL ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT ; html_errors ; Default Value: On ; Development Value: On ; Production value: On ; log_errors ; Default Value: Off ; Development Value: On ; Production Value: On ; max_input_time ; Default Value: -1 (Unlimited) ; Development Value: 60 (60 seconds) ; Production Value: 60 (60 seconds) ; output_buffering ; Default Value: Off ; Development Value: 4096 ; Production Value: 4096 ; register_argc_argv ; Default Value: On ; Development Value: Off ; Production Value: Off ; request_order ; Default Value: None ; Development Value: «GP» ; Production Value: «GP» ; session.bug_compat_42 ; Default Value: On ; Development Value: On ; Production Value: Off ; session.bug_compat_warn ; Default Value: On ; Development Value: On ; Production Value: Off ; session.gc_divisor ; Default Value: 100 ; Development Value: 1000 ; Production Value: 1000 ; session.hash_bits_per_character ; Default Value: 4 ; Development Value: 5 ; Production Value: 5 ; short_open_tag ; Default Value: On ; Development Value: Off ; Production Value: Off ; track_errors ; Default Value: Off ; Development Value: On ; Production Value: Off ; url_rewriter.tags ; Default Value: «a=href,area=href,frame=src,form=,fieldset=» ; Development Value: «a=href,area=href,frame=src,input=src,form=fakeentry» ; Production Value: «a=href,area=href,frame=src,input=src,form=fakeentry» ; variables_order ; Default Value: «EGPCS» ; Development Value: «GPCS» ; Production Value: «GPCS» ;;;;;;;;;;;;;;;;;;;; ; php.ini Options ; ;;;;;;;;;;;;;;;;;;;; ; Name for user-defined php.ini (.htaccess) files. Default is «.user.ini» ;user_ini.filename = «.user.ini» ; To disable this feature set this option to empty value ;user_ini.filename = ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) ;user_ini.cache_ttl = 300 ;;;;;;;;;;;;;;;;;;;; ; Language Options ; ;;;;;;;;;;;;;;;;;;;; ; Enable the PHP scripting language engine under Apache. ; http://php.net/engine engine = On ; This directive determines whether or not PHP will recognize code between ; <? and ?> tags as PHP source which should be processed as such. It’s been ; recommended for several years that you not use the short tag «short cut» and ; instead to use the full <?php and ?> tag combination. With the wide spread use ; of XML and use of these tags by other languages, the server can become easily ; confused and end up parsing the wrong code in the wrong context. But because ; this short cut has been a feature for such a long time, it’s currently still ; supported for backwards compatibility, but we recommend you don’t use them. ; Default Value: On ; Development Value: Off ; Production Value: Off ; http://php.net/short-open-tag short_open_tag = Off ; Allow ASP-style <% %> tags. ; http://php.net/asp-tags asp_tags = Off ; The number of significant digits displayed in floating point numbers. ; http://php.net/precision precision = 14 ; Output buffering is a mechanism for controlling how much output data ; (excluding headers and cookies) PHP should keep internally before pushing that ; data to the client. If your application’s output exceeds this setting, PHP ; will send that data in chunks of roughly the size you specify. ; Turning on this setting and managing its maximum buffer size can yield some ; interesting side-effects depending on your application and web server. ; You may be able to send headers and cookies after you’ve already sent output ; through print or echo. You also may see performance benefits if your server is ; emitting less packets due to buffered output versus PHP streaming the output ; as it gets it. On production servers, 4096 bytes is a good setting for performance ; reasons. ; Note: Output buffering can also be controlled via Output Buffering Control ; functions. ; Possible Values: ; On = Enabled and buffer is unlimited. (Use with caution) ; Off = Disabled ; Integer = Enables the buffer and sets its maximum size in bytes. ; Note: This directive is hardcoded to Off for the CLI SAPI ; Default Value: Off ; Development Value: 4096 ; Production Value: 4096 ; http://php.net/output-buffering output_buffering = 4096 ; You can redirect all of the output of your scripts to a function. For ; example, if you set output_handler to «mb_output_handler», character ; encoding will be transparently converted to the specified encoding. ; Setting any output handler automatically turns on output buffering. ; Note: People who wrote portable scripts should not depend on this ini ; directive. Instead, explicitly set the output handler using ob_start(). ; Using this ini directive may cause problems unless you know what script ; is doing. ; Note: You cannot use both «mb_output_handler» with «ob_iconv_handler» ; and you cannot use both «ob_gzhandler» and «zlib.output_compression». ; Note: output_handler must be empty if this is set ‘On’ !!!! ; Instead you must use zlib.output_handler. ; http://php.net/output-handler ;output_handler = ; Transparent output compression using the zlib library ; Valid values for this option are ‘off’, ‘on’, or a specific buffer size ; to be used for compression (default is 4KB) ; Note: Resulting chunk size may vary due to nature of compression. PHP ; outputs chunks that are few hundreds bytes each as a result of ; compression. If you prefer a larger chunk size for better ; performance, enable output_buffering in addition. ; Note: You need to use zlib.output_handler instead of the standard ; output_handler, or otherwise the output will be corrupted. ; http://php.net/zlib.output-compression zlib.output_compression = Off ; http://php.net/zlib.output-compression-level ;zlib.output_compression_level = -1 ; You cannot specify additional output handlers if zlib.output_compression ; is activated here. This setting does the same as output_handler but in ; a different order. ; http://php.net/zlib.output-handler ;zlib.output_handler = ; Implicit flush tells PHP to tell the output layer to flush itself ; automatically after every output block. This is equivalent to calling the ; PHP function flush() after each and every call to print() or echo() and each ; and every HTML block. Turning this option on has serious performance ; implications and is generally recommended for debugging purposes only. ; http://php.net/implicit-flush ; Note: This directive is hardcoded to On for the CLI SAPI implicit_flush = Off ; The unserialize callback function will be called (with the undefined class’ ; name as parameter), if the unserializer finds an undefined class ; which should be instantiated. A warning appears if the specified function is ; not defined, or if the function doesn’t include/implement the missing class. ; So only set this entry, if you really want to implement such a ; callback-function. unserialize_callback_func = ; When floats & doubles are serialized store serialize_precision significant ; digits after the floating point. The default value ensures that when floats ; are decoded with unserialize, the data will remain the same. serialize_precision = 17 ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory ; or per-virtualhost web server configuration file. This directive is ; *NOT* affected by whether Safe Mode is turned On or Off. ; http://php.net/open-basedir ;open_basedir = ; This directive allows you to disable certain functions for security reasons. ; It receives a comma-delimited list of function names. This directive is ; *NOT* affected by whether Safe Mode is turned On or Off. ; http://php.net/disable-functions disable_functions = ; This directive allows you to disable certain classes for security reasons. ; It receives a comma-delimited list of class names. This directive is ; *NOT* affected by whether Safe Mode is turned On or Off. ; http://php.net/disable-classes disable_classes = ; Colors for Syntax Highlighting mode. Anything that’s acceptable in ; <span style=»color: ???????»> would work. ; http://php.net/syntax-highlighting ;highlight.string = #DD0000 ;highlight.comment = #FF9900 ;highlight.keyword = #007700 ;highlight.default = #0000BB ;highlight.html = #000000 ; If enabled, the request will be allowed to complete even if the user aborts ; the request. Consider enabling it if executing long requests, which may end up ; being interrupted by the user or a browser timing out. PHP’s default behavior ; is to disable this feature. ; http://php.net/ignore-user-abort ;ignore_user_abort = On ; Determines the size of the realpath cache to be used by PHP. This value should ; be increased on systems where PHP opens many files to reflect the quantity of ; the file operations performed. ; http://php.net/realpath-cache-size ;realpath_cache_size = 16k ; Duration of time, in seconds for which to cache realpath information for a given ; file or directory. For systems with rarely changing files, consider increasing this ; value. ; http://php.net/realpath-cache-ttl ;realpath_cache_ttl = 120 ; Enables or disables the circular reference collector. ; http://php.net/zend.enable-gc zend.enable_gc = On ; If enabled, scripts may be written in encodings that are incompatible with ; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such ; encodings. To use this feature, mbstring extension must be enabled. ; Default: Off ;zend.multibyte = Off ; Allows to set the default encoding for the scripts. This value will be used ; unless «declare(encoding=…)» directive appears at the top of the script. ; Only affects if zend.multibyte is set. ; Default: «» ;zend.script_encoding = ;;;;;;;;;;;;;;;;; ; Miscellaneous ; ;;;;;;;;;;;;;;;;; ; Decides whether PHP may expose the fact that it is installed on the server ; (e.g. by adding its signature to the Web server header). It is no security ; threat in any way, but it makes it possible to determine whether you use PHP ; on your server or not. ; http://php.net/expose-php expose_php = On ;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;; ; Maximum execution time of each script, in seconds ; http://php.net/max-execution-time ; Note: This directive is hardcoded to 0 for the CLI SAPI max_execution_time = 30 ; Maximum amount of time each script may spend parsing request data. It’s a good ; idea to limit this time on productions servers in order to eliminate unexpectedly ; long running scripts. ; Note: This directive is hardcoded to -1 for the CLI SAPI ; Default Value: -1 (Unlimited) ; Development Value: 60 (60 seconds) ; Production Value: 60 (60 seconds) ; http://php.net/max-input-time max_input_time = 60 ; Maximum input variable nesting level ; http://php.net/max-input-nesting-level ;max_input_nesting_level = 64 ; How many GET/POST/COOKIE input variables may be accepted ; max_input_vars = 1000 ; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_limit = 128M ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Error handling and logging ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; This directive informs PHP of which errors, warnings and notices you would like ; it to take action for. The recommended way of setting values for this ; directive is through the use of the error level constants and bitwise ; operators. The error level constants are below here for convenience as well as ; some common settings and their meanings. ; By default, PHP is set to take action on all errors, notices and warnings EXCEPT ; those related to E_NOTICE and E_STRICT, which together cover best practices and ; recommended coding standards in PHP. For performance reasons, this is the ; recommend error reporting setting. Your production server shouldn’t be wasting ; resources complaining about best practices and coding standards. That’s what ; development servers and development settings are for. ; Note: The php.ini-development file has this setting as E_ALL. This ; means it pretty much reports everything which is exactly what you want during ; development and early testing. ; ; Error Level Constants: ; E_ALL — All errors and warnings (includes E_STRICT as of PHP 5.4.0) ; E_ERROR — fatal run-time errors ; E_RECOVERABLE_ERROR — almost fatal run-time errors ; E_WARNING — run-time warnings (non-fatal errors) ; E_PARSE — compile-time parse errors ; E_NOTICE — run-time notices (these are warnings which often result ; from a bug in your code, but it’s possible that it was ; intentional (e.g., using an uninitialized variable and ; relying on the fact it’s automatically initialized to an ; empty string) ; E_STRICT — run-time notices, enable to have PHP suggest changes ; to your code which will ensure the best interoperability ; and forward compatibility of your code ; E_CORE_ERROR — fatal errors that occur during PHP’s initial startup ; E_CORE_WARNING — warnings (non-fatal errors) that occur during PHP’s ; initial startup ; E_COMPILE_ERROR — fatal compile-time errors ; E_COMPILE_WARNING — compile-time warnings (non-fatal errors) ; E_USER_ERROR — user-generated error message ; E_USER_WARNING — user-generated warning message ; E_USER_NOTICE — user-generated notice message ; E_DEPRECATED — warn about code that will not work in future versions ; of PHP ; E_USER_DEPRECATED — user-generated deprecation warnings ; ; Common Values: ; E_ALL (Show all errors, warnings and notices including coding standards.) ; E_ALL & ~E_NOTICE (Show all errors, except for notices) ; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED ; Development Value: E_ALL ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT ; http://php.net/error-reporting error_reporting = E_ALL ; This directive controls whether or not and where PHP will output errors, ; notices and warnings too. Error output is very useful during development, but ; it could be very dangerous in production environments. Depending on the code ; which is triggering the error, sensitive information could potentially leak ; out of your application such as database usernames and passwords or worse. ; It’s recommended that errors be logged on production servers rather than ; having the errors sent to STDOUT. ; Possible Values: ; Off = Do not display any errors ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) ; On or stdout = Display errors to STDOUT ; Default Value: On ; Development Value: On ; Production Value: Off ; http://php.net/display-errors display_errors = On ; The display of errors which occur during PHP’s startup sequence are handled ; separately from display_errors. PHP’s default behavior is to suppress those ; errors from clients. Turning the display of startup errors on can be useful in ; debugging configuration problems. But, it’s strongly recommended that you ; leave this setting off on production servers. ; Default Value: Off ; Development Value: On ; Production Value: Off ; http://php.net/display-startup-errors display_startup_errors = On ; Besides displaying errors, PHP can also log errors to locations such as a ; server-specific log, STDERR, or a location specified by the error_log ; directive found below. While errors should not be displayed on productions ; servers they should still be monitored and logging is a great way to do that. ; Default Value: Off ; Development Value: On ; Production Value: On ; http://php.net/log-errors log_errors = On ; Set maximum length of log_errors. In error_log information about the source is ; added. The default is 1024 and 0 allows to not apply any maximum length at all. ; http://php.net/log-errors-max-len log_errors_max_len = 1024 ; Do not log repeated messages. Repeated errors must occur in same file on same ; line unless ignore_repeated_source is set true. ; http://php.net/ignore-repeated-errors ignore_repeated_errors = Off ; Ignore source of message when ignoring repeated messages. When this setting ; is On you will not log errors with repeated messages from different files or ; source lines. ; http://php.net/ignore-repeated-source ignore_repeated_source = Off ; If this parameter is set to Off, then memory leaks will not be shown (on ; stdout or in the log). This has only effect in a debug compile, and if ; error reporting includes E_WARNING in the allowed list ; http://php.net/report-memleaks report_memleaks = On ; This setting is on by default. ;report_zend_debug = 0 ; Store the last error/warning message in $php_errormsg (boolean). Setting this value ; to On can assist in debugging and is appropriate for development servers. It should ; however be disabled on production servers. ; Default Value: Off ; Development Value: On ; Production Value: Off ; http://php.net/track-errors track_errors = On ; Turn off normal error reporting and emit XML-RPC error XML ; http://php.net/xmlrpc-errors ;xmlrpc_errors = 0 ; An XML-RPC faultCode ;xmlrpc_error_number = 0 ; When PHP displays or logs an error, it has the capability of formatting the ; error message as HTML for easier reading. This directive controls whether ; the error message is formatted as HTML or not. ; Note: This directive is hardcoded to Off for the CLI SAPI ; Default Value: On ; Development Value: On ; Production value: On ; http://php.net/html-errors html_errors = On ; If html_errors is set to On *and* docref_root is not empty, then PHP ; produces clickable error messages that direct to a page describing the error ; or function causing the error in detail. ; You can download a copy of the PHP manual from http://php.net/docs ; and change docref_root to the base URL of your local copy including the ; leading ‘/’. You must also specify the file extension being used including ; the dot. PHP’s default behavior is to leave these settings empty, in which ; case no links to documentation are generated. ; Note: Never use this feature for production boxes. ; http://php.net/docref-root ; Examples ;docref_root = «/phpmanual/» ; http://php.net/docref-ext ;docref_ext = .html ; String to output before an error message. PHP’s default behavior is to leave ; this setting blank. ; http://php.net/error-prepend-string ; Example: ;error_prepend_string = «<span style=’color: #ff0000′>» ; String to output after an error message. PHP’s default behavior is to leave ; this setting blank. ; http://php.net/error-append-string ; Example: ;error_append_string = «</span>» ; Log errors to specified file. PHP’s default behavior is to leave this value ; empty. ; http://php.net/error-log ; Example: ;error_log = php_errors.log ; Log errors to syslog (Event Log on NT, not valid in Windows 95). ;error_log = syslog ;windows.show_crt_warning ; Default value: 0 ; Development value: 0 ; Production value: 0 ;;;;;;;;;;;;;;;;; ; Data Handling ; ;;;;;;;;;;;;;;;;; ; The separator used in PHP generated URLs to separate arguments. ; PHP’s default setting is «&». ; http://php.net/arg-separator.output ; Example: ;arg_separator.output = «&amp;» ; List of separator(s) used by PHP to parse input URLs into variables. ; PHP’s default setting is «&». ; NOTE: Every character in this directive is considered as separator! ; http://php.net/arg-separator.input ; Example: ;arg_separator.input = «;&» ; This directive determines which super global arrays are registered when PHP ; starts up. G,P,C,E & S are abbreviations for the following respective super ; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty ; paid for the registration of these arrays and because ENV is not as commonly ; used as the others, ENV is not recommended on productions servers. You ; can still get access to the environment variables through getenv() should you ; need to. ; Default Value: «EGPCS» ; Development Value: «GPCS» ; Production Value: «GPCS»; ; http://php.net/variables-order variables_order = «GPCS» ; This directive determines which super global data (G,P,C,E & S) should ; be registered into the super global array REQUEST. If so, it also determines ; the order in which that data is registered. The values for this directive are ; specified in the same manner as the variables_order directive, EXCEPT one. ; Leaving this value empty will cause PHP to use the value set in the ; variables_order directive. It does not mean it will leave the super globals ; array REQUEST empty. ; Default Value: None ; Development Value: «GP» ; Production Value: «GP» ; http://php.net/request-order request_order = «GP» ; This directive determines whether PHP registers $argv & $argc each time it ; runs. $argv contains an array of all the arguments passed to PHP when a script ; is invoked. $argc contains an integer representing the number of arguments ; that were passed when the script was invoked. These arrays are extremely ; useful when running scripts from the command line. When this directive is ; enabled, registering these variables consumes CPU cycles and memory each time ; a script is executed. For performance reasons, this feature should be disabled ; on production servers. ; Note: This directive is hardcoded to On for the CLI SAPI ; Default Value: On ; Development Value: Off ; Production Value: Off ; http://php.net/register-argc-argv register_argc_argv = Off ; When enabled, the ENV, REQUEST and SERVER variables are created when they’re ; first used (Just In Time) instead of when the script starts. If these ; variables are not used within a script, having this directive on will result ; in a performance gain. The PHP directive register_argc_argv must be disabled ; for this directive to have any affect. ; http://php.net/auto-globals-jit auto_globals_jit = On ; Whether PHP will read the POST data. ; This option is enabled by default. ; Most likely, you won’t want to disable this option globally. It causes $_POST ; and $_FILES to always be empty; the only way you will be able to read the ; POST data will be through the php://input stream wrapper. This can be useful ; to proxy requests or to process the POST data in a memory efficient fashion. ; http://php.net/enable-post-data-reading ;enable_post_data_reading = Off ; Maximum size of POST data that PHP will accept. ; Its value may be 0 to disable the limit. It is ignored if POST data reading ; is disabled through enable_post_data_reading. ; http://php.net/post-max-size post_max_size = 8M ; Automatically add files before PHP document. ; http://php.net/auto-prepend-file auto_prepend_file = ; Automatically add files after PHP document. ; http://php.net/auto-append-file auto_append_file = ; By default, PHP will output a character encoding using ; the Content-type: header. To disable sending of the charset, simply ; set it to be empty. ; ; PHP’s built-in default is text/html ; http://php.net/default-mimetype default_mimetype = «text/html» ; PHP’s default character set is set to empty. ; http://php.net/default-charset ;default_charset = «UTF-8» ; Always populate the $HTTP_RAW_POST_DATA variable. PHP’s default behavior is ; to disable this feature. If post reading is disabled through ; enable_post_data_reading, $HTTP_RAW_POST_DATA is *NOT* populated. ; http://php.net/always-populate-raw-post-data ;always_populate_raw_post_data = On ;;;;;;;;;;;;;;;;;;;;;;;;; ; Paths and Directories ; ;;;;;;;;;;;;;;;;;;;;;;;;; ; UNIX: «/path1:/path2» ;include_path = «.:/php/includes» ; ; Windows: «path1;path2» ;include_path = «.;c:phpincludes» ; ; PHP’s default setting for include_path is «.;/path/to/php/pear» ; http://php.net/include-path ; The root of the PHP pages, used only if nonempty. ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root ; if you are running php as a CGI under any web server (other than IIS) ; see documentation for security issues. The alternate is to use the ; cgi.force_redirect configuration below ; http://php.net/doc-root doc_root = ; The directory under which PHP opens the script using /~username used only ; if nonempty. ; http://php.net/user-dir user_dir = ; Directory in which the loadable extensions (modules) reside. ; http://php.net/extension-dir ; extension_dir = «./» ; On windows: ; extension_dir = «ext» ; Whether or not to enable the dl() function. The dl() function does NOT work ; properly in multithreaded servers, such as IIS or Zeus, and is automatically ; disabled on them. ; http://php.net/enable-dl enable_dl = Off ; cgi.force_redirect is necessary to provide security running PHP as a CGI under ; most web servers. Left undefined, PHP turns this on by default. You can ; turn it off here AT YOUR OWN RISK ; **You CAN safely turn this off for IIS, in fact, you MUST.** ; http://php.net/cgi.force-redirect ;cgi.force_redirect = 1 ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with ; every request. PHP’s default behavior is to disable this feature. ;cgi.nph = 1 ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP ; will look for to know it is OK to continue execution. Setting this variable MAY ; cause security issues, KNOW WHAT YOU ARE DOING FIRST. ; http://php.net/cgi.redirect-status-env ;cgi.redirect_status_env = ; ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP’s ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. ; http://php.net/cgi.fix-pathinfo ;cgi.fix_pathinfo=1 ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate ; security tokens of the calling client. This allows IIS to define the ; security context that the request runs under. mod_fastcgi under Apache ; does not currently support this feature (03/17/2002) ; Set to 1 if running under IIS. Default is zero. ; http://php.net/fastcgi.impersonate ;fastcgi.impersonate = 1; ; Disable logging through FastCGI connection. PHP’s default behavior is to enable ; this feature. ;fastcgi.logging = 0 ; cgi.rfc2616_headers configuration option tells PHP what type of headers to ; use when sending HTTP response code. If it’s set 0 PHP sends Status: header that ; is supported by Apache. When this option is set to 1 PHP will send ; RFC2616 compliant header. ; Default is zero. ; http://php.net/cgi.rfc2616-headers ;cgi.rfc2616_headers = 0 ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. ; http://php.net/file-uploads file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). ; http://php.net/upload-tmp-dir ;upload_tmp_dir = ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 2M ; Maximum number of files that can be uploaded via a single request max_file_uploads = 20 ;;;;;;;;;;;;;;;;;; ; Fopen wrappers ; ;;;;;;;;;;;;;;;;;; ; Whether to allow the treatment of URLs (like http:// or ftp://) as files. ; http://php.net/allow-url-fopen allow_url_fopen = On ; Whether to allow include/require to open URLs (like http:// or ftp://) as files. ; http://php.net/allow-url-include allow_url_include = Off ; Define the anonymous ftp password (your email address). PHP’s default setting ; for this is empty. ; http://php.net/from ;from=»john@doe.com» ; Define the User-Agent string. PHP’s default setting for this is empty. ; http://php.net/user-agent ;user_agent=»PHP» ; Default timeout for socket based streams (seconds) ; http://php.net/default-socket-timeout default_socket_timeout = 60 ; If your scripts have to deal with files from Macintosh systems, ; or you are running on a Mac and need to deal with files from ; unix or win32 systems, setting this flag will cause PHP to ; automatically detect the EOL character in those files so that ; fgets() and file() will work regardless of the source of the file. ; http://php.net/auto-detect-line-endings ;auto_detect_line_endings = Off ;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;; ; If you wish to have an extension loaded automatically, use the following ; syntax: ; ; extension=modulename.extension ; ; For example, on Windows: ; ; extension=msql.dll ; ; … or under UNIX: ; ; extension=msql.so ; ; … or with a path: ; ; extension=/path/to/extension/msql.so ; ; If you only provide the name of the extension, PHP will look for it in its ; default extension directory. ; ; Windows Extensions ; Note that ODBC support is built in, so no dll is needed for it. ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) ; extension folders as well as the separate PECL DLL download (PHP 5). ; Be sure to appropriately set the extension_dir directive. ; ;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll ;extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll ;extension=php_mbstring.dll ;extension=php_exif.dll ; Must be after mbstring as it depends on it ;extension=php_mysql.dll ;extension=php_mysqli.dll ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_pspell.dll ;extension=php_shmop.dll ; The MIBS data available in the PHP distribution must be installed. ; See http://www.php.net/manual/en/snmp.installation.php ;extension=php_snmp.dll ;extension=php_soap.dll ;extension=php_sockets.dll ;extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll ;extension=php_xsl.dll ;extension=php_zip.dll ;;;;;;;;;;;;;;;;;;; ; Module Settings ; ;;;;;;;;;;;;;;;;;;; [CLI Server] ; Whether the CLI web server uses ANSI color coding in its terminal output. cli_server.color = On [Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone ;date.timezone = ; http://php.net/date.default-latitude ;date.default_latitude = 31.7667 ; http://php.net/date.default-longitude ;date.default_longitude = 35.2333 ; http://php.net/date.sunrise-zenith ;date.sunrise_zenith = 90.583333 ; http://php.net/date.sunset-zenith ;date.sunset_zenith = 90.583333 [filter] ; http://php.net/filter.default ;filter.default = unsafe_raw ; http://php.net/filter.default-flags ;filter.default_flags = [iconv] ;iconv.input_encoding = ISO-8859-1 ;iconv.internal_encoding = ISO-8859-1 ;iconv.output_encoding = ISO-8859-1 [intl] ;intl.default_locale = ; This directive allows you to produce PHP errors when some error ; happens within intl functions. The value is the level of the error produced. ; Default is 0, which does not produce any errors. ;intl.error_level = E_WARNING [sqlite] ; http://php.net/sqlite.assoc-case ;sqlite.assoc_case = 0 [sqlite3] ;sqlite3.extension_dir = [Pcre] ;PCRE library backtracking limit. ; http://php.net/pcre.backtrack-limit ;pcre.backtrack_limit=100000 ;PCRE library recursion limit. ;Please note that if you set this value to a high number you may consume all ;the available process stack and eventually crash PHP (due to reaching the ;stack size limit imposed by the Operating System). ; http://php.net/pcre.recursion-limit ;pcre.recursion_limit=100000 [Pdo] ; Whether to pool ODBC connections. Can be one of «strict», «relaxed» or «off» ; http://php.net/pdo-odbc.connection-pooling ;pdo_odbc.connection_pooling=strict ;pdo_odbc.db2_instance_name [Pdo_mysql] ; If mysqlnd is used: Number of cache slots for the internal result set cache ; http://php.net/pdo_mysql.cache_size pdo_mysql.cache_size = 2000 ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. ; http://php.net/pdo_mysql.default-socket pdo_mysql.default_socket= [Phar] ; http://php.net/phar.readonly ;phar.readonly = On ; http://php.net/phar.require-hash ;phar.require_hash = On ;phar.cache_list = [mail function] ; For Win32 only. ; http://php.net/smtp SMTP = localhost ; http://php.net/smtp-port smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from ;sendmail_from = me@example.com ; For Unix only. You may supply arguments as well (default: «sendmail -t -i»). ; http://php.net/sendmail-path ;sendmail_path = ; Force the addition of the specified parameters to be passed as extra parameters ; to the sendmail binary. These parameters will always replace the value of ; the 5th parameter to mail(), even in safe mode. ;mail.force_extra_parameters = ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename mail.add_x_header = On ; The path to a log file that will log all mail() calls. Log entries include ; the full path of the script, line number, To address and headers. ;mail.log = [SQL] ; http://php.net/sql.safe-mode sql.safe_mode = Off [ODBC] ; http://php.net/odbc.default-db ;odbc.default_db = Not yet implemented ; http://php.net/odbc.default-user ;odbc.default_user = Not yet implemented ; http://php.net/odbc.default-pw ;odbc.default_pw = Not yet implemented ; Controls the ODBC cursor model. ; Default: SQL_CURSOR_STATIC (default). ;odbc.default_cursortype ; Allow or prevent persistent links. ; http://php.net/odbc.allow-persistent odbc.allow_persistent = On ; Check that a connection is still valid before reuse. ; http://php.net/odbc.check-persistent odbc.check_persistent = On ; Maximum number of persistent links. -1 means no limit. ; http://php.net/odbc.max-persistent odbc.max_persistent = -1 ; Maximum number of links (persistent + non-persistent). -1 means no limit. ; http://php.net/odbc.max-links odbc.max_links = -1 ; Handling of LONG fields. Returns number of bytes to variables. 0 means ; passthru. ; http://php.net/odbc.defaultlrl odbc.defaultlrl = 4096 ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation ; of odbc.defaultlrl and odbc.defaultbinmode ; http://php.net/odbc.defaultbinmode odbc.defaultbinmode = 1 ;birdstep.max_links = -1 [Interbase] ; Allow or prevent persistent links. ibase.allow_persistent = 1 ; Maximum number of persistent links. -1 means no limit. ibase.max_persistent = -1 ; Maximum number of links (persistent + non-persistent). -1 means no limit. ibase.max_links = -1 ; Default database name for ibase_connect(). ;ibase.default_db = ; Default username for ibase_connect(). ;ibase.default_user = ; Default password for ibase_connect(). ;ibase.default_password = ; Default charset for ibase_connect(). ;ibase.default_charset = ; Default timestamp format. ibase.timestampformat = «%Y-%m-%d %H:%M:%S» ; Default date format. ibase.dateformat = «%Y-%m-%d» ; Default time format. ibase.timeformat = «%H:%M:%S» [MySQL] ; Allow accessing, from PHP’s perspective, local files with LOAD DATA statements ; http://php.net/mysql.allow_local_infile mysql.allow_local_infile = On ; Allow or prevent persistent links. ; http://php.net/mysql.allow-persistent mysql.allow_persistent = On ; If mysqlnd is used: Number of cache slots for the internal result set cache ; http://php.net/mysql.cache_size mysql.cache_size = 2000 ; Maximum number of persistent links. -1 means no limit. ; http://php.net/mysql.max-persistent mysql.max_persistent = -1 ; Maximum number of links (persistent + non-persistent). -1 means no limit. ; http://php.net/mysql.max-links mysql.max_links = -1 ; Default port number for mysql_connect(). If unset, mysql_connect() will use ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look ; at MYSQL_PORT. ; http://php.net/mysql.default-port mysql.default_port = ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. ; http://php.net/mysql.default-socket mysql.default_socket = ; Default host for mysql_connect() (doesn’t apply in safe mode). ; http://php.net/mysql.default-host mysql.default_host = ; Default user for mysql_connect() (doesn’t apply in safe mode). ; http://php.net/mysql.default-user mysql.default_user = ; Default password for mysql_connect() (doesn’t apply in safe mode). ; Note that this is generally a *bad* idea to store passwords in this file. ; *Any* user with PHP access can run ‘echo get_cfg_var(«mysql.default_password») ; and reveal this password! And of course, any users with read access to this ; file will be able to reveal the password as well. ; http://php.net/mysql.default-password mysql.default_password = ; Maximum time (in seconds) for connect timeout. -1 means no limit ; http://php.net/mysql.connect-timeout mysql.connect_timeout = 60 ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and ; SQL-Errors will be displayed. ; http://php.net/mysql.trace-mode mysql.trace_mode = Off [MySQLi] ; Maximum number of persistent links. -1 means no limit. ; http://php.net/mysqli.max-persistent mysqli.max_persistent = -1 ; Allow accessing, from PHP’s perspective, local files with LOAD DATA statements ; http://php.net/mysqli.allow_local_infile ;mysqli.allow_local_infile = On ; Allow or prevent persistent links. ; http://php.net/mysqli.allow-persistent mysqli.allow_persistent = On ; Maximum number of links. -1 means no limit. ; http://php.net/mysqli.max-links mysqli.max_links = -1 ; If mysqlnd is used: Number of cache slots for the internal result set cache ; http://php.net/mysqli.cache_size mysqli.cache_size = 2000 ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look ; at MYSQL_PORT. ; http://php.net/mysqli.default-port mysqli.default_port = 3306 ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. ; http://php.net/mysqli.default-socket mysqli.default_socket = ; Default host for mysql_connect() (doesn’t apply in safe mode). ; http://php.net/mysqli.default-host mysqli.default_host = ; Default user for mysql_connect() (doesn’t apply in safe mode). ; http://php.net/mysqli.default-user mysqli.default_user = ; Default password for mysqli_connect() (doesn’t apply in safe mode). ; Note that this is generally a *bad* idea to store passwords in this file. ; *Any* user with PHP access can run ‘echo get_cfg_var(«mysqli.default_pw») ; and reveal this password! And of course, any users with read access to this ; file will be able to reveal the password as well. ; http://php.net/mysqli.default-pw mysqli.default_pw = ; Allow or prevent reconnect mysqli.reconnect = Off [mysqlnd] ; Enable / Disable collection of general statistics by mysqlnd which can be ; used to tune and monitor MySQL operations. ; http://php.net/mysqlnd.collect_statistics mysqlnd.collect_statistics = On ; Enable / Disable collection of memory usage statistics by mysqlnd which can be ; used to tune and monitor MySQL operations. ; http://php.net/mysqlnd.collect_memory_statistics mysqlnd.collect_memory_statistics = On ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. ; http://php.net/mysqlnd.net_cmd_buffer_size ;mysqlnd.net_cmd_buffer_size = 2048 ; Size of a pre-allocated buffer used for reading data sent by the server in ; bytes. ; http://php.net/mysqlnd.net_read_buffer_size ;mysqlnd.net_read_buffer_size = 32768 [OCI8] ; Connection: Enables privileged connections using external ; credentials (OCI_SYSOPER, OCI_SYSDBA) ; http://php.net/oci8.privileged-connect ;oci8.privileged_connect = Off ; Connection: The maximum number of persistent OCI8 connections per ; process. Using -1 means no limit. ; http://php.net/oci8.max-persistent ;oci8.max_persistent = -1 ; Connection: The maximum number of seconds a process is allowed to ; maintain an idle persistent connection. Using -1 means idle ; persistent connections will be maintained forever. ; http://php.net/oci8.persistent-timeout ;oci8.persistent_timeout = -1 ; Connection: The number of seconds that must pass before issuing a ; ping during oci_pconnect() to check the connection validity. When ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables ; pings completely. ; http://php.net/oci8.ping-interval ;oci8.ping_interval = 60 ; Connection: Set this to a user chosen connection class to be used ; for all pooled server requests with Oracle 11g Database Resident ; Connection Pooling (DRCP). To use DRCP, this value should be set to ; the same string for all web servers running the same application, ; the database pool must be configured, and the connection string must ; specify to use a pooled server. ;oci8.connection_class = ; High Availability: Using On lets PHP receive Fast Application ; Notification (FAN) events generated when a database node fails. The ; database must also be configured to post FAN events. ;oci8.events = Off ; Tuning: This option enables statement caching, and specifies how ; many statements to cache. Using 0 disables statement caching. ; http://php.net/oci8.statement-cache-size ;oci8.statement_cache_size = 20 ; Tuning: Enables statement prefetching and sets the default number of ; rows that will be fetched automatically after statement execution. ; http://php.net/oci8.default-prefetch ;oci8.default_prefetch = 100 ; Compatibility. Using On means oci_close() will not close ; oci_connect() and oci_new_connect() connections. ; http://php.net/oci8.old-oci-close-semantics ;oci8.old_oci_close_semantics = Off [PostgreSQL] ; Allow or prevent persistent links. ; http://php.net/pgsql.allow-persistent pgsql.allow_persistent = On ; Detect broken persistent links always with pg_pconnect(). ; Auto reset feature requires a little overheads. ; http://php.net/pgsql.auto-reset-persistent pgsql.auto_reset_persistent = Off ; Maximum number of persistent links. -1 means no limit. ; http://php.net/pgsql.max-persistent pgsql.max_persistent = -1 ; Maximum number of links (persistent+non persistent). -1 means no limit. ; http://php.net/pgsql.max-links pgsql.max_links = -1 ; Ignore PostgreSQL backends Notice message or not. ; Notice message logging require a little overheads. ; http://php.net/pgsql.ignore-notice pgsql.ignore_notice = 0 ; Log PostgreSQL backends Notice message or not. ; Unless pgsql.ignore_notice=0, module cannot log notice message. ; http://php.net/pgsql.log-notice pgsql.log_notice = 0 [Sybase-CT] ; Allow or prevent persistent links. ; http://php.net/sybct.allow-persistent sybct.allow_persistent = On ; Maximum number of persistent links. -1 means no limit. ; http://php.net/sybct.max-persistent sybct.max_persistent = -1 ; Maximum number of links (persistent + non-persistent). -1 means no limit. ; http://php.net/sybct.max-links sybct.max_links = -1 ; Minimum server message severity to display. ; http://php.net/sybct.min-server-severity sybct.min_server_severity = 10 ; Minimum client message severity to display. ; http://php.net/sybct.min-client-severity sybct.min_client_severity = 10 ; Set per-context timeout ; http://php.net/sybct.timeout ;sybct.timeout= ;sybct.packet_size ; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. ; Default: one minute ;sybct.login_timeout= ; The name of the host you claim to be connecting from, for display by sp_who. ; Default: none ;sybct.hostname= ; Allows you to define how often deadlocks are to be retried. -1 means «forever». ; Default: 0 ;sybct.deadlock_retry_count= [bcmath] ; Number of decimal digits for all bcmath functions. ; http://php.net/bcmath.scale bcmath.scale = 0 [browscap] ; http://php.net/browscap ;browscap = extra/browscap.ini [Session] ; Handler used to store/retrieve data. ; http://php.net/session.save-handler session.save_handler = files ; Argument passed to save_handler. In the case of files, this is the path ; where data files are stored. Note: Windows users have to change this ; variable in order to use PHP’s session functions. ; ; The path can be defined as: ; ; session.save_path = «N;/path» ; ; where N is an integer. Instead of storing all the session files in ; /path, what this will do is use subdirectories N-levels deep, and ; store the session data in those directories. This is useful if you ; or your OS have problems with lots of files in one directory, and is ; a more efficient layout for servers that handle lots of sessions. ; ; NOTE 1: PHP will not create this directory structure automatically. ; You can use the script in the ext/session dir for that purpose. ; NOTE 2: See the section on garbage collection below if you choose to ; use subdirectories for session storage ; ; The file storage module creates files using mode 600 by default. ; You can change that by using ; ; session.save_path = «N;MODE;/path» ; ; where MODE is the octal representation of the mode. Note that this ; does not overwrite the process’s umask. ; http://php.net/session.save-path ;session.save_path = «/tmp» ; Whether to use cookies. ; http://php.net/session.use-cookies session.use_cookies = 1 ; http://php.net/session.cookie-secure ;session.cookie_secure = ; This option forces PHP to fetch and use a cookie for storing and maintaining ; the session id. We encourage this operation as it’s very helpful in combating ; session hijacking when not specifying and managing your own session id. It is ; not the end all be all of session hijacking defense, but it’s a good start. ; http://php.net/session.use-only-cookies session.use_only_cookies = 1 ; Name of the session (used as cookie name). ; http://php.net/session.name session.name = PHPSESSID ; Initialize session on request startup. ; http://php.net/session.auto-start session.auto_start = 0 ; Lifetime in seconds of cookie or, if 0, until browser is restarted. ; http://php.net/session.cookie-lifetime session.cookie_lifetime = 0 ; The path for which the cookie is valid. ; http://php.net/session.cookie-path session.cookie_path = / ; The domain for which the cookie is valid. ; http://php.net/session.cookie-domain session.cookie_domain = ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. ; http://php.net/session.cookie-httponly session.cookie_httponly = ; Handler used to serialize data. php is the standard serializer of PHP. ; http://php.net/session.serialize-handler session.serialize_handler = php ; Defines the probability that the ‘garbage collection’ process is started ; on every session initialization. The probability is calculated by using ; gc_probability/gc_divisor. Where session.gc_probability is the numerator ; and gc_divisor is the denominator in the equation. Setting this value to 1 ; when the session.gc_divisor value is 100 will give you approximately a 1% chance ; the gc will run on any give request. ; Default Value: 1 ; Development Value: 1 ; Production Value: 1 ; http://php.net/session.gc-probability session.gc_probability = 1 ; Defines the probability that the ‘garbage collection’ process is started on every ; session initialization. The probability is calculated by using the following equation: ; gc_probability/gc_divisor. Where session.gc_probability is the numerator and ; session.gc_divisor is the denominator in the equation. Setting this value to 1 ; when the session.gc_divisor value is 100 will give you approximately a 1% chance ; the gc will run on any give request. Increasing this value to 1000 will give you ; a 0.1% chance the gc will run on any give request. For high volume production servers, ; this is a more efficient approach. ; Default Value: 100 ; Development Value: 1000 ; Production Value: 1000 ; http://php.net/session.gc-divisor session.gc_divisor = 1000 ; After this number of seconds, stored data will be seen as ‘garbage’ and ; cleaned up by the garbage collection process. ; http://php.net/session.gc-maxlifetime session.gc_maxlifetime = 1440 ; NOTE: If you are using the subdirectory option for storing session files ; (see session.save_path above), then garbage collection does *not* ; happen automatically. You will need to do your own garbage ; collection through a shell script, cron entry, or some other method. ; For example, the following script would is the equivalent of ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): ; find /path/to/sessions -cmin +24 | xargs rm ; PHP 4.2 and less have an undocumented feature/bug that allows you to ; to initialize a session variable in the global scope. ; PHP 4.3 and later will warn you, if this feature is used. ; You can disable the feature and the warning separately. At this time, ; the warning is only displayed, if bug_compat_42 is enabled. This feature ; introduces some serious security problems if not handled correctly. It’s ; recommended that you do not use this feature on production servers. But you ; should enable this on development servers and enable the warning as well. If you ; do not enable the feature on development servers, you won’t be warned when it’s ; used and debugging errors caused by this can be difficult to track down. ; Default Value: On ; Development Value: On ; Production Value: Off ; http://php.net/session.bug-compat-42 session.bug_compat_42 = On ; This setting controls whether or not you are warned by PHP when initializing a ; session value into the global space. session.bug_compat_42 must be enabled before ; these warnings can be issued by PHP. See the directive above for more information. ; Default Value: On ; Development Value: On ; Production Value: Off ; http://php.net/session.bug-compat-warn session.bug_compat_warn = On ; Check HTTP Referer to invalidate externally stored URLs containing ids. ; HTTP_REFERER has to contain this substring for the session to be ; considered as valid. ; http://php.net/session.referer-check session.referer_check = ; How many bytes to read from the file. ; http://php.net/session.entropy-length ;session.entropy_length = 32 ; Specified here to create the session id. ; http://php.net/session.entropy-file ; Defaults to /dev/urandom ; On systems that don’t have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom ; If neither are found at compile time, the default is no entropy file. ; On windows, setting the entropy_length setting will activate the ; Windows random source (using the CryptoAPI) ;session.entropy_file = /dev/urandom ; Set to {nocache,private,public,} to determine HTTP caching aspects ; or leave this empty to avoid sending anti-caching headers. ; http://php.net/session.cache-limiter session.cache_limiter = nocache ; Document expires after n minutes. ; http://php.net/session.cache-expire session.cache_expire = 180 ; trans sid support is disabled by default. ; Use of trans sid may risk your users security. ; Use this option with caution. ; — User may send URL contains active session ID ; to other person via. email/irc/etc. ; — URL that contains active session ID may be stored ; in publicly accessible computer. ; — User may access your site with the same session ID ; always using URL stored in browser’s history or bookmarks. ; http://php.net/session.use-trans-sid session.use_trans_sid = 0 ; Select a hash function for use in generating session ids. ; Possible Values ; 0 (MD5 128 bits) ; 1 (SHA-1 160 bits) ; This option may also be set to the name of any hash function supported by ; the hash extension. A list of available hashes is returned by the hash_algos() ; function. ; http://php.net/session.hash-function session.hash_function = 0 ; Define how many bits are stored in each character when converting ; the binary hash data to something readable. ; Possible values: ; 4 (4 bits: 0-9, a-f) ; 5 (5 bits: 0-9, a-v) ; 6 (6 bits: 0-9, a-z, A-Z, «-«, «,») ; Default Value: 4 ; Development Value: 5 ; Production Value: 5 ; http://php.net/session.hash-bits-per-character session.hash_bits_per_character = 5 ; The URL rewriter will look for URLs in a defined set of HTML tags. ; form/fieldset are special; if you include them here, the rewriter will ; add a hidden <input> field with the info which is otherwise appended ; to URLs. If you want XHTML conformity, remove the form entry. ; Note that all valid entries require a «=», even if no value follows. ; Default Value: «a=href,area=href,frame=src,form=,fieldset=» ; Development Value: «a=href,area=href,frame=src,input=src,form=fakeentry» ; Production Value: «a=href,area=href,frame=src,input=src,form=fakeentry» ; http://php.net/url-rewriter.tags url_rewriter.tags = «a=href,area=href,frame=src,input=src,form=fakeentry» ; Enable upload progress tracking in $_SESSION ; Default Value: On ; Development Value: On ; Production Value: On ; http://php.net/session.upload-progress.enabled ;session.upload_progress.enabled = On ; Cleanup the progress information as soon as all POST data has been read ; (i.e. upload completed). ; Default Value: On ; Development Value: On ; Production Value: On ; http://php.net/session.upload-progress.cleanup ;session.upload_progress.cleanup = On ; A prefix used for the upload progress key in $_SESSION ; Default Value: «upload_progress_» ; Development Value: «upload_progress_» ; Production Value: «upload_progress_» ; http://php.net/session.upload-progress.prefix ;session.upload_progress.prefix = «upload_progress_» ; The index name (concatenated with the prefix) in $_SESSION ; containing the upload progress information ; Default Value: «PHP_SESSION_UPLOAD_PROGRESS» ; Development Value: «PHP_SESSION_UPLOAD_PROGRESS» ; Production Value: «PHP_SESSION_UPLOAD_PROGRESS» ; http://php.net/session.upload-progress.name ;session.upload_progress.name = «PHP_SESSION_UPLOAD_PROGRESS» ; How frequently the upload progress should be updated. ; Given either in percentages (per-file), or in bytes ; Default Value: «1%» ; Development Value: «1%» ; Production Value: «1%» ; http://php.net/session.upload-progress.freq ;session.upload_progress.freq = «1%» ; The minimum delay between updates, in seconds ; Default Value: 1 ; Development Value: 1 ; Production Value: 1 ; http://php.net/session.upload-progress.min-freq ;session.upload_progress.min_freq = «1» [MSSQL] ; Allow or prevent persistent links. mssql.allow_persistent = On ; Maximum number of persistent links. -1 means no limit. mssql.max_persistent = -1 ; Maximum number of links (persistent+non persistent). -1 means no limit. mssql.max_links = -1 ; Minimum error severity to display. mssql.min_error_severity = 10 ; Minimum message severity to display. mssql.min_message_severity = 10 ; Compatibility mode with old versions of PHP 3.0. mssql.compatability_mode = Off ; Connect timeout ;mssql.connect_timeout = 5 ; Query timeout ;mssql.timeout = 60 ; Valid range 0 — 2147483647. Default = 4096. ;mssql.textlimit = 4096 ; Valid range 0 — 2147483647. Default = 4096. ;mssql.textsize = 4096 ; Limits the number of records in each batch. 0 = all records in one batch. ;mssql.batchsize = 0 ; Specify how datetime and datetim4 columns are returned ; On => Returns data converted to SQL server settings ; Off => Returns values as YYYY-MM-DD hh:mm:ss ;mssql.datetimeconvert = On ; Use NT authentication when connecting to the server mssql.secure_connection = Off ; Specify max number of processes. -1 = library default ; msdlib defaults to 25 ; FreeTDS defaults to 4096 ;mssql.max_procs = -1 ; Specify client character set. ; If empty or not set the client charset from freetds.conf is used ; This is only used when compiled with FreeTDS ;mssql.charset = «ISO-8859-1» [Assertion] ; Assert(expr); active by default. ; http://php.net/assert.active ;assert.active = On ; Issue a PHP warning for each failed assertion. ; http://php.net/assert.warning ;assert.warning = On ; Don’t bail out by default. ; http://php.net/assert.bail ;assert.bail = Off ; User-function to be called if an assertion fails. ; http://php.net/assert.callback ;assert.callback = 0 ; Eval the expression with current error_reporting(). Set to true if you want ; error_reporting(0) around the eval(). ; http://php.net/assert.quiet-eval ;assert.quiet_eval = 0 [COM] ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs ; http://php.net/com.typelib-file ;com.typelib_file = ; allow Distributed-COM calls ; http://php.net/com.allow-dcom ;com.allow_dcom = true ; autoregister constants of a components typlib on com_load() ; http://php.net/com.autoregister-typelib ;com.autoregister_typelib = true ; register constants casesensitive ; http://php.net/com.autoregister-casesensitive ;com.autoregister_casesensitive = false ; show warnings on duplicate constant registrations ; http://php.net/com.autoregister-verbose ;com.autoregister_verbose = true ; The default character set code-page to use when passing strings to and from COM objects. ; Default: system ANSI code page ;com.code_page= [mbstring] ; language for internal character representation. ; http://php.net/mbstring.language ;mbstring.language = Japanese ; internal/script encoding. ; Some encoding cannot work as internal encoding. ; (e.g. SJIS, BIG5, ISO-2022-*) ; http://php.net/mbstring.internal-encoding ;mbstring.internal_encoding = EUC-JP ; http input encoding. ; http://php.net/mbstring.http-input ;mbstring.http_input = auto ; http output encoding. mb_output_handler must be ; registered as output buffer to function ; http://php.net/mbstring.http-output ;mbstring.http_output = SJIS ; enable automatic encoding translation according to ; mbstring.internal_encoding setting. Input chars are ; converted to internal encoding by setting this to On. ; Note: Do _not_ use automatic encoding translation for ; portable libs/applications. ; http://php.net/mbstring.encoding-translation ;mbstring.encoding_translation = Off ; automatic encoding detection order. ; auto means ; http://php.net/mbstring.detect-order ;mbstring.detect_order = auto ; substitute_character used when character cannot be converted ; one from another ; http://php.net/mbstring.substitute-character ;mbstring.substitute_character = none; ; overload(replace) single byte functions by mbstring functions. ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), ; etc. Possible values are 0,1,2,4 or combination of them. ; For example, 7 for overload everything. ; 0: No overload ; 1: Overload mail() function ; 2: Overload str*() functions ; 4: Overload ereg*() functions ; http://php.net/mbstring.func-overload ;mbstring.func_overload = 0 ; enable strict encoding detection. ;mbstring.strict_detection = Off ; This directive specifies the regex pattern of content types for which mb_output_handler() ; is activated. ; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml+xml) ;mbstring.http_output_conv_mimetype= [gd] ; Tell the jpeg decode to ignore warnings and try to create ; a gd image. The warning will then be displayed as notices ; disabled by default ; http://php.net/gd.jpeg-ignore-warning ;gd.jpeg_ignore_warning = 0 [exif] ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. ; With mbstring support this will automatically be converted into the encoding ; given by corresponding encode setting. When empty mbstring.internal_encoding ; is used. For the decode settings you can distinguish between motorola and ; intel byte order. A decode setting cannot be empty. ; http://php.net/exif.encode-unicode ;exif.encode_unicode = ISO-8859-15 ; http://php.net/exif.decode-unicode-motorola ;exif.decode_unicode_motorola = UCS-2BE ; http://php.net/exif.decode-unicode-intel ;exif.decode_unicode_intel = UCS-2LE ; http://php.net/exif.encode-jis ;exif.encode_jis = ; http://php.net/exif.decode-jis-motorola ;exif.decode_jis_motorola = JIS ; http://php.net/exif.decode-jis-intel ;exif.decode_jis_intel = JIS [Tidy] ; The path to a default tidy configuration file to use when using tidy ; http://php.net/tidy.default-config ;tidy.default_config = /usr/local/lib/php/default.tcfg ; Should tidy clean and repair output automatically? ; WARNING: Do not use this option if you are generating non-html content ; such as dynamic images ; http://php.net/tidy.clean-output tidy.clean_output = Off [soap] ; Enables or disables WSDL caching feature. ; http://php.net/soap.wsdl-cache-enabled soap.wsdl_cache_enabled=1 ; Sets the directory name where SOAP extension will put cache files. ; http://php.net/soap.wsdl-cache-dir soap.wsdl_cache_dir=»/tmp» ; (time to live) Sets the number of second while cached file will be used ; instead of original one. ; http://php.net/soap.wsdl-cache-ttl soap.wsdl_cache_ttl=86400 ; Sets the size of the cache limit. (Max. number of WSDL files to cache) soap.wsdl_cache_limit = 5 [sysvshm] ; A default size of the shared memory segment ;sysvshm.init_mem = 10000 [ldap] ; Sets the maximum number of open links or -1 for unlimited. ldap.max_links = -1 [mcrypt] ; For more information about mcrypt settings see http://php.net/mcrypt-module-open ; Directory where to load mcrypt algorithms ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) ;mcrypt.algorithms_dir= ; Directory where to load mcrypt modes ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) ;mcrypt.modes_dir= [dba] ;dba.default_handler= ; Local Variables: ; tab-width: 4 ; End:

Эта инструкция подойдет если использовать PHP версии 7.3 или выше.

Тестирование будет показано на примере реализации простого REST API.

OpenServer подходит для обучения и реализации не сложных проектов, в остальном более правильно использовать ОС Linux с Docker контейнерами.

Подключение PHP интерпретатора в VSCode

В программе VSCode необходимо установить расширение PHP Intelephense из самой программы или открыть по ссылке PHP Intelephense — Visual Studio Marketplace

Откройте VSCode, слева внизу нажмите значок шестеренки настроек и выберети вкладку Параметры:

Подключение Xdebug 1

В строке поиска введите PHP, затем выберите секцию PHP и нажмите Изменить в settings.json

Подключение Xdebug 2

В параметре php.validate.executablePath пропишите путь до исполняемого файла нужной версии PHP

Подключение Xdebug 3

Должно получиться следудующие:

Подключение Xdebug 4

Настройка Xdebug в VSCode

В программе VSCode необходимо установить расширение PHP Debug из самой программы или открыть по ссылке PHP Debug — Visual Studio Marketplace

Убедитесь что в директории лежит файл openserver/modules/php/версия_php_openserver/ext/php_xdebug.dll.

Откройте настройки php.ini через меню OpenServer в правом нижнем углу экрана:

Подключение Xdebug 5

Найдите секцию [xdebug], закоментируйте все параметры где есть xdebug и напишите ниже секции [xdebug] следующий текст:

  1. zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_xdebug.dll"
  2. xdebug.log="%sprogdir%/userdata/temp/xdebug/log/access.log"
  3. xdebug.mode = debug
  4. xdebug.client_host = 127.0.0.1
  5. xdebug.client_port = 9003
  6. xdebug.start_with_request=yes
  7. xdebug.idekey = VSCode
  8. xdebug.discover_client_host=false

После этого создайте по пути openserver/userdata/temp/xdebug/ директорию log и в ней создайте файл access.log

В программе VSCode нажмите на значок отладки слева, VSCode предложит создать файл настроек launch.json в директории .vscode нажмите создать файл и затем в выпадающем меню выберите PHP

Подключение Xdebug 6

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

Подключение Xdebug 7

Создайте файл с содержимым <? echo xdebug_info(); ?> и откройте его в браузере, если все сделано правильно то появится следующая страница. В указанном блоке не должно быть ошибок, если есть исправляем:

Подключение Xdebug 8

Перезапускаем OpenServer

В программе VSCode нажав на значок отладки слева, выберите в выпадающем меню Listen for Xdebug и нажмите значок пуск.

Поставьте у себя в коде точку останова и откройте файл через браузер или выполните запрос к своему URL в случае с REST API.

Полный вывод данных

При отладке из коробки возникает небольшая проблема, XDebug работает нормально, останавливается на точках останова данные доступны в переменных. При попытки посмотреть массив, доступно определенное количество элементов. Например, массив из 172 элементов будет отображать только 32 элемента.

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

xdebug.var_display_max_children

При отладке с помощью расширения PHP Debug эти параметры необходимо настроить в файле launch.json, содержащий настройки отладчика:

{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"xdebugSettings": {
"max_children": 999,
}
}

Полные инструкции перечислены на этой странице.

Краткая инструкция по обновлению некоторых компонентов OS Panel (актуально для версий 5.3.9-5.4.3).

467x59-hostiman

Можно годами ждать обновления Open Server, месяцами ныть на форумах с вопросами «когда блин обновление?». А можно взять и обновить всё, что нужно, самостоятельно. Ведь не всем хочется ради обновления одного из компонентов скачивать целую сборку.

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

  1. Обновление PHP
    1. С версии 7 до 8
    2. С версии х.y до x.z (например, с 8.1.x до 8.1.y)
  2. Обновление компонента Xdebug
    1. Вариант настроек Xdebug 3 для тестирования с покрытием в PHPStorm
  3. Обновление компонента Imagick
  4. Обновление компонента Memcache
  5. Обновление компонента Memcached
  6. Обновление компонента Redis
  7. Установка/обновление APCu
  8. Обновление компонента Timezonedb
  9. Обновление Apache
  10. Обновление Nginx
    1. Правка конфигов Nginx под различные движки/CMS
  11. Обновление связки Apache + Nginx
  12. Обновление MySQL (например, с версии 5.7.x до 5.7.y)
  13. Обновление MariaDb (например, с версии 10.x до 10.y)
  14. Обновление PostgreSQL (например, с версии 9.6.x до 9.6.y)
  15. Обновление Adminer
  16. Обновление phpMyAdmin
  17. Обновление HeidiSQL
  18. Обновление phpPgAdmin
  19. Обновление phpRedisAdmin
  20. Обновление Git
  21. Обновление консоли (ConEmu)
  22. Обновление Composer
  23. Обновление MongoDB
  24. Добавление своих портативных программ вместо стандартных
    1. VS Code — бесплатный редактор для веб-разработки
    2. Cent Browser — тюнингованный Chrome-браузер
    3. Unreal Commander — бесплатный файловый менеджер
    4. Double Commander — альтернативный файловый менеджер
    5. Multi Commander — ещё один файловый менеджер (если предыдущие 2 не понравились)
    6. DBeaver — менеджер баз данных
    7. Everything — поиск файлов и папок по их именам
  25. Установка и обновление Node.js

Обновление PHP

С версии 7 до 8

Поскольку в последних версиях OS Panel уже есть PHP 8, оптимальней всего перейти на самую свежую версию.

Если у вас OS Panel 5.4.3 и вы хотите добавить лишь PHP 8.2, читайте здесь.

С версии х.y до x.z (например, с 8.1.x до 8.1.y)

  • Скачиваем новую версию (выбираем Thread Safe).
  • Делаем резервную копию текущей версии модуля (например, <Путь к OS Panel>modulesphpPHP_8.1).
  • Распаковываем содержимое скачанного архива поверх имеющихся файлов, с заменой (либо предварительно очищаем папку, а затем распаковываем в нее файлы).
  • Перезапускаем OS Panel, проверяем работоспособность.

Обновляем версию PHP

Обновление компонента Xdebug

  • Скачиваем новую версию (выбираем с пометкой TS).
  • Переименовываем в php_xdebug.dll и копируем в папку <Путь к OS Panel>modulesphpPHP_<Ваша версия PHP>ext.
  • Корректируем путь в php.ini: zend_extension = %sprogdir%/modules/php/%phpdriver%/ext/php_xdebug.dll.

Вариант настроек Xdebug 3 для тестирования с покрытием в PHPStorm

xdebug.mode = coverage
xdebug.start_with_request = no
xdebug.output_dir = "%sprogdir%/userdata/temp/xdebug"
xdebug.discover_client_host = true
xdebug.client_host = localhost
xdebug.client_port = 9003

Обновление компонента Imagick

  • Скачиваем новую версию здесь (см. ссылки с пометкой «DLL», «Thread Save») или здесь.
  • Файл php_imagick.dll из архива распаковываем в <Путь к OS Panel>modulesphpPHP_<Ваша версия>ext.
  • Все остальные *.dll файлы распаковываем в <Путь к OS Panel>modulesphpPHP_<Ваша версия>.

Обновление компонента Memcache

  • Скачиваем новую версию
  • Переименовываем файл в php_memcache.dll и сохраняем в <Путь к OS Panel>modulesphpPHP_<Ваша версия>ext.
  • Для использования в php.ini находим или добавляем строку extension = memcache.
  • Для хранения сессий в Memcache добавьте строчки:
    session.save_handler = "memcache"
    session.save_path    = "tcp://127.0.0.1:11211"
  • Включаем Memcached в настройках OS Panel, на вкладке «Модули».

Обновление компонента Memcached

  • Скачиваем новую версию
  • Находим в архиве файл с нужной версией, например 3.1.5basicphp7.4ts_x64php_memcached.dll и сохраняем в <Путь к OS Panel>modulesphpPHP_<Ваша версия>ext.
  • Другой файл, 3.1.5basicphp7.4ts_x64libmemcached.dll, закидываем в директорию <Путь к OS Panel>modulesmemcachedMemcached-1.5 (смотря какую версию будете включать в настройках).
  • Для использования в php.ini находим или добавляем строку extension = memcached.
  • Для хранения сессий в Memcached добавьте строчки:
    session.save_handler = "memcached"
    session.save_path    = "127.0.0.1:11211"
  • Включаем Memcached в настройках OS Panel, на вкладке «Модули».

Обновление компонента Redis

  • Скачиваем новую версию для используемой версии PHP.
  • Находим в архиве файл php_redis.dll и скидываем в директорию <Путь к OS Panel>modulesphpPHP_<Ваша версия>ext.
  • Для использования в php.ini находим или добавляем строку extension = redis.
  • Для хранения сессий в Redis добавьте строчки:
    session.save_handler = "redis"
    session.save_path    = "tcp://127.0.0.1:6379"

Установка/обновление APCu

  • Скачиваем новую версию для используемой версии PHP.
  • Извлекаем из архива файл php_apcu.dll и сохраняем в <Путь к OS Panel>modulesphpPHP_<Ваша версия>ext.
  • Для использования в php.ini находим или добавляем строку extension = apcu.

Обновление компонента Timezonedb

  • Скачиваем новую версию (см. ссылки с пометкой «DLL», «Thread Save») для соответствующей версии PHP.
  • Распаковываем php_timezonedb.dll в директорию <Путь к OS Panel>modulesphpPHP_<Ваша версия>ext.
  • Находим или добавляем в php.ini строчку extension = timezonedb.

Обновление Apache

  • Скачиваем новую версию.
  • Выключаем OS Panel.
  • Распаковываем соответствующие директории из загруженного архива в <Путь к OS Panel>moduleshttp<Выбранная версия> (где выбранная версия, например, Apache_2.4-PHP_8.0-8.1), с заменой.
  • Перезапускаем OS Panel.
  • Если Apache не запускается, установите свежий Microsoft Visual C++ 2015-2022 Redistributable
  • Открываем консоль OS Panel и проверяем, обновилась ли версия сервера: httpd -v.

Обновление Nginx

  • Скачиваем новую версию.
  • Выключаем OS Panel.
  • Делаем резервную копию.
  • Копируем директорию <Путь к OS Panel>moduleshttpNginx_1.21, переименовываем с новым номером версии в названии (например, Nginx_1.22).
  • Распаковываем в эту директорию соответствующие файлы из скачанного архива (2 папки и файл nginx.exe).
  • В директории <Путь к OS Panel>userdataconfig копируем файлы Nginx_1.21_server.conf и Nginx_1.21_vhost.conf и сохраняем их под новыми именами (с новым номером версии в названии).
  • Выбираем новую версию сервера в настройках панели, перезапускаем.
  • Открываем консоль OS Panel и проверяем, обновилась ли версия сервера: nginx -v.
  • Перезапускаем OS Panel.
  • Если обновление не заработает, ищите информацию в сети о компиляции Nginx с нужными модулями, либо возьмите соответствующие модули из последней версии OSPanel.

Правка конфигов Nginx под различные движки/CMS

  • Посмотреть

Обновление связки Apache + Nginx

  • Скачиваем свежие версии Apache и Nginx.
  • Выключаем OS Panel.
  • Делаем резервную копию.
  • Соответствующие директории из архива с Apache распаковываем в <Путь к OS Panel>moduleshttp<Выбранная версия> (где выбранная версия, например, Apache_2.4-PHP_8.0-8.1+Nginx_1.21), с заменой.
  • Соответствующие директории и файл nginx.exe из архива с Nginx распаковываем в ту же директорию (см. пункт выше).
  • Перезапускаем OS Panel.
  • Если обновление не заработает, ищите информацию в сети о компиляции Nginx с нужными модулями, либо возьмите соответствующие модули из последней версии OSPanel.

Обновление MySQL (например, с версии 5.7.x до 5.7.y)

  • Экспортируем нужные вам базы данных в *.sql файл.
  • Скачиваем новую версию (ZIP-файл, Windows (x86, 64-bit)) (старые версии ищем по ссылке Archives).
  • Создаем (или очищаем) папку <Путь к OS Panel>modulesdatabaseMySQL-5.7 (-8.0).
  • Распаковываем в нее папки bin, lib и share из архива.
  • Создаем (или очищаем) папку <Путь к OS Panel>userdataMySQL-5.7 (-8.0).
  • Распаковываем в эту папку содержимое папки <Путь к OS Panel>userdataMySQL-5.7 (-8.0) из дистрибутива OS Panel.
  • Перезапускаем OS Panel.
  • Заходим в phpMyAdmin и импортируем созданный ранее *.sql файл.
  • Проверяем работоспособность базы данных.

Обновление MariaDb (например, с версии 10.x до 10.y)

  • Экспортируем нужные вам базы данных в *.sql файл.
  • Скачиваем новую версию (ZIP-файл, Windows x86_64).
  • Создаем (или очищаем) папку <Путь к OS Panel>modulesdatabaseMariaDB-10.5.
  • Распаковываем в нее папки bin, lib и share из архива.
  • Создаем (или очищаем) папку <Путь к OS Panel>userdataMariaDB-10.5.
  • Распаковываем в эту папку содержимое папки data из архива (если этой папки нет, скачайте отсюда).
  • Делаем копию файла <Путь к OS Panel>userdataconfigMariaDB-10.4_my.ini и переименовываем эту копию в MariaDB-10.5_my.ini.
  • Перезапускаем OS Panel.
  • Заходим в phpMyAdmin и импортируем созданный ранее *.sql файл.
  • Запускаем консоль OS Panel и вводим команду mysql_upgrade -u root -p.
  • Проверяем работоспособность базы данных.

Обновление PostgreSQL (например, с версии 9.6.x до 9.6.y)

  • Экспортируем нужные вам базы данных в *.sql файл командой pg_dump -h localhost -U postgres -F p -f <Путь к файлу sql> ИМЯ_БАЗЫ.
  • Скачиваем новую версию.
  • Создаем (или очищаем) папку <Путь к OS Panel>modulesdatabasePostgreSQL-9.6.
  • Распаковываем в нее папки bin, lib, share и StackBuilder из архива.
  • Создаем (или очищаем) папку <Путь к OS Panel>userdataPostgreSQL-9.6.
  • В настройках PHP убираем символ комментария перед строчкой extension = pgsql.
  • Перезапускаем OS Panel.
  • Импортируем созданный ранее *.sql файл командами createdb.exe --username=postgres ИМЯ_БАЗЫ и psql --dbname=ИМЯ_БАЗЫ --quiet --file="<Путь к файлу sql>" --username=postgres >nul.
  • Проверяем работоспособность базы данных.

Обновление Adminer

  • Скачиваем новую версию.
  • Переименовываем php файл из архива в index.php (в OS Panel 5.3.7-) или в adminer_core.php (начиная с OS Panel 5.3.8+).
  • Сохраняем по адресу <Путь к OS Panel>modulessystemhtmlopenserveradminer.

Обновляем версию Adminer

Обновление phpMyAdmin

  • Скачиваем новую версию.
  • Очищаем содержимое папки <Путь к OS Panel>modulessystemhtmlopenserverphpmyadmin (кроме файлов db_create.php и config.inc.php — их не трогаем).
  • Распаковываем в нее содержимое скачанного архива.

Обновляем версию phpMyAdmin

Обновление HeidiSQL

  • Скачиваем portable-версию.
  • Распаковываем содержимое архива в <Путь к OS Panel>modulesheidisql, с заменой (настройки хранятся в portable_settings.txt).

Обновляем версию HeidiSQL

Обновление phpPgAdmin

  • Скачиваем свежий релиз.
  • Распаковываем всё содержимое архива (кроме папки conf) в <Путь к OS Panel>modulessystemhtmlopenserverphppgadmin, с заменой.

Обновление phpRedisAdmin

  • Скачиваем свежий релиз.
  • Заменяем содержимое <Путь к OS Panel>modulessystemhtmlopenserverphpredisadmin соответствующими файлами и папками из архива.
  • Открываем командную строку внутри директории <Путь к OS Panel>modulessystemhtmlopenserverphpredisadmin, вводим composer update.

Обновление Git

  • Скачиваем portable-версию (x64).
  • Удаляем все содержимое папки <Путь к OS Panel>modulesgit, распаковываем туда содержимое архива.
  • Вариант 2: Обновление через консоль: git update-git-for-windows.

Обновление консоли (ConEmu)

  • Запускам консоль, нажимаем на крайнюю правую иконку и выбираем пункт «Настройки…» («Settings…»).
  • На вкладке «Основные» включаем автообновление (по желанию).
  • Переходим в раздел «Обновление», нажимаем кнопку «Применить & Проверить» и выбираем метод обновления — сразу или после закрытия консоли.

Обновление Composer

  • В консоли OS Panel запускаем команду composer self-update.
  • P. S. Если запустить установку в командной строке Windows, то обновится Composer в самой системе.

Обновление MongoDB

  • Скачиваем MongoDB Server (архив для Windows x64) и MongoDB Database Tools.
  • См. Как добавить MongoDB 5.0.3.

Добавление своих портативных программ вместо стандартных

В документации расписано, что да как. Если вкратце, то приложения необходимо размещать по адресу <Путь к OS Panel>progs<Категория><Название приложения>. Категория по умолчанию, отображаемая в главном меню панели — Default. Название приложения должно совпадать с именем исполняемого файла. Например, для браузера Chrome путь будет выглядеть так: <Путь к OS Panel>progsDefaultChrome (при условии, что в этой директории находится файл chrome.exe). Если требуется, чтобы в меню приложение называлось как-то по-особому, в его директории размещается файл osinit.txt с нужным названием.

Далее на конкретных примерах рассмотрим, как добавлять портативные программы в меню OS Panel:

VS Code — бесплатный редактор для веб-разработки

  • Скачиваем zip-версию VS Code для Windows, распаковываем содержимое архива в директорию <Путь к OS Panel>progsDefaultCode.
  • В ту же директорию помещаем файл osinit.txt с нужным вам заголовком программы (будет отображаться в меню OS Panel) — например, VS Code.
  • Подробнее о портативном режиме VS Code читаем здесь.

Cent Browser — тюнингованный Chrome-браузер

  • Скачиваем портативную версию с официального сайта, распаковываем в директорию <Путь к OS Panel>progsDefaultChrome.
  • В ту же директорию помещаем файл osinit.txt с нужным вам заголовком программы (будет отображаться в меню OS Panel) — например, Cent Browser.

Unreal Commander — бесплатный файловый менеджер

  • Скачиваем инсталлятор, устанавливаем в любую директорию, затем переименовываем её в Uncom и переносим в <Путь к OS Panel>progsDefault.
  • В ту же директорию помещаем файл osinit.txt с нужным вам заголовком программы (будет отображаться в меню OS Panel) — например, Unreal Commander.

Double Commander — альтернативный файловый менеджер

  • Скачиваем портативную версию (Windows, 64 bit), распаковываем содержимое архива в <Путь к OS Panel>progsDefault.
  • Переходим в директорию doublecmd и создаем в ней файл osinit.txt с нужным вам заголовком программы — например, Double Commander.

Multi Commander — ещё один файловый менеджер (если предыдущие 2 не понравились)

  • Скачиваем портативную версию (Windows, 64 bit), распаковываем содержимое архива в <Путь к OS Panel>progsDefaultMultiCommander.

DBeaver — менеджер баз данных

  • Скачиваем архив с сайта программы, распаковываем содержимое в <Путь к OS Panel>progsDefault.
  • Переходим в директорию dbeaver и создаем в ней файл osinit.txt с нужным вам заголовком программы — например, DBeaver.

Everything — поиск файлов и папок по их именам

  • Скачиваем портативную версию, распаковываем содержимое архива в <Путь к OS Panel>progsDefaultEverything.
  • В Сервис —> Настройки -> Индексирование -> Папки можно добавить директории ваших проектов (<Путь к OS Panel>domains), для быстрого поиска только в них.

Указываем путь к добавленным программам в настройках

Установка и обновление Node.js

  • Устанавливаем Node.js как обычную программу для Windows (рекомендую версию с пометкой LTS).
  • Настраиваем OSPanel, чтобы он видел Node.js.
  • Обновляем с помощью команды npm install -g npm в консоли.

Воспользуйтесь QIWI, чтобы поблагодарить за статью.

Понравилась статья? Поделить с друзьями:
  • Как изменить php ini linux
  • Как изменить ph буферного раствора
  • Как изменить pdi на мышке
  • Как изменить rmb removable media bit
  • Как изменить pdf файл на маке