Страница 6 из 23

Re: Какие новости на фронте разработки новой версии?

Добавлено: 14 сен 2021, 22:33
SagePointer
Для меня неудобно то, что для каждой отдельной версии продукта отдельный конфиг, хотя на 99.99% они обычно идентичны. Было бы удобнее, если бы конфиг был один, но с каким-то аналогом препроцессорных директив (наподобие апачевского IfModule, только в этом случае - чтобы можно было указать диапазон версий, к которым применяется блок) - чтобы при внесении правок в конфиг не нужно было в несколько версий сразу вносить, если планируется переключать между версиями. Но и при этом оставить функционал а-ля по отдельному конфигу для отдельной версии (к примеру, конфиг для отдельной версии модуля имеет приоритет над "общим" конфигом этого модуля).

Re: Какие новости на фронте разработки новой версии?

Добавлено: 18 сен 2021, 19:05
DAGpro
Хотелось бы иметь возможность быстро включить\отключать расширения php opcache, xdebug

Re: Какие новости на фронте разработки новой версии?

Добавлено: 16 окт 2021, 10:28
coaperator
Обещали начало тестирования в мае-июне, уже октябрь ((

Re: Какие новости на фронте разработки новой версии?

Добавлено: 17 окт 2021, 00:01
Максим
SagePointer писал(а): 14 сен 2021, 22:33 Для меня неудобно то, что для каждой отдельной версии продукта отдельный конфиг, хотя на 99.99% они обычно идентичны. Было бы удобнее, если бы конфиг был один, но с каким-то аналогом препроцессорных директив (наподобие апачевского IfModule, только в этом случае - чтобы можно было указать диапазон версий, к которым применяется блок) - чтобы при внесении правок в конфиг не нужно было в несколько версий сразу вносить, если планируется переключать между версиями. Но и при этом оставить функционал а-ля по отдельному конфигу для отдельной версии (к примеру, конфиг для отдельной версии модуля имеет приоритет над "общим" конфигом этого модуля).
Отчасти согласен что не сильно удобно, но нужно понимать что разные версии модулей сильно несовместимы по конфигу и сделать один конфиг под все модули не получится. А бывает и так, что даже одна и та же конфигурация работает по разному. Поэтому я всё же считаю что у каждого модуля должен быть свой отдельный конфиг, хоть это и добавляет работы, о чём вы уже написали выше.

Re: Какие новости на фронте разработки новой версии?

Добавлено: 17 окт 2021, 00:08
Максим
DAGpro писал(а): 18 сен 2021, 19:05 Хотелось бы иметь возможность быстро включить\отключать расширения php opcache, xdebug
Вы про то, что уже несколько лет просят - сделать настройку модулей PHP галочками?

Смотрите, сейчас всё управление и настройка будут в браузере. Т.е. предполагаем такую ситуацию - вы заходите в панель управления в браузер, открываете допустим настройки PHP. B вот тут вам либо открывается текстовый конфиг в textarea, либо табличка с кучей полей ввода и галочками отдельно для каждой настройки. И вот вам допустим нужно включить расширение - в первом случае вам нужно просто удалить один символ перед названием модуля в текстовом файле, во втором случае просто щёлкнуть мышкой на галочке напротив названия модуля. И вот ту я не совсем понимаю а в чём собственно разница?

Предположим вам нужно другую настройку поменять, например 'max_execution_time' и тут тоже одинаковое кол-во работы - либо ввести цифру в textarea при редактировании файла настроек, либо ввести её в поле ввода. На мой взгляд быстрота одинакова.

Re: Какие новости на фронте разработки новой версии?

Добавлено: 17 окт 2021, 00:28
Максим
coaperator писал(а): 16 окт 2021, 10:28 Обещали начало тестирования в мае-июне, уже октябрь ((
Я сейчас занимаюсь панелью управления в браузере, хочу сделать необходимый минимум - редактирование конфигов, управление модулями (включение, выключение, перезапуск) и просмотр логов. Хотя бы этот минимальный набор удобств. Думаю что нужно ещё 1-2 недели, чтобы хотя бы на минимальном уровне это всё заработало.

Если сильно настаиваете, то могу уже в понедельник сюда ядро выложить, оно полностью готово, нужно лишь всё "облагородить". Но тогда будете настраивать программу и модули вообще голым текстом открывая файлы конфигов в блокноте. Мне кажется это не очень удобно.

UPD. В общем чего тянуть, давайте тогда в понедельник выкладываю ядро с минимальным набором самых простых модулей (только memcached, redis и mongo), этого хватит для тестов. Что как работает и что желательно проверить я конечно распишу в пояснительной записке к тем файлам, которые выложу. Ну и как только допилю минимальную панельку для удобного управления, то тогда уже выложу новые файлы с ней и добавлю модулей.

Re: Какие новости на фронте разработки новой версии?

Добавлено: 17 окт 2021, 11:07
TXP
Хотелось бы сохранить возможность попроектной настройки vhost. Паре моих проектов нужен nginx с разными vhost, а другим apache (плюс nginx, который еще обслуживает две веб-мордры под интранет именами для локалки, но это уже глобально). И, в связи с этим, я активно пользуюсь подхватом vhost из папки домена. Хотелось бы, чтобы такая ф-я/фозможность сохрнилась в том или ином виде.

Re: Какие новости на фронте разработки новой версии?

Добавлено: 17 окт 2021, 17:27
DAGpro
Максим писал(а): 17 окт 2021, 00:08
DAGpro писал(а): 18 сен 2021, 19:05 Хотелось бы иметь возможность быстро включить\отключать расширения php opcache, xdebug
Вы про то, что уже несколько лет просят - сделать настройку модулей PHP галочками?

Смотрите, сейчас всё управление и настройка будут в браузере. Т.е. предполагаем такую ситуацию - вы заходите в панель управления в браузер, открываете допустим настройки PHP. B вот тут вам либо открывается текстовый конфиг в textarea, либо табличка с кучей полей ввода и галочками отдельно для каждой настройки. И вот вам допустим нужно включить расширение - в первом случае вам нужно просто удалить один символ перед названием модуля в текстовом файле, во втором случае просто щёлкнуть мышкой на галочке напротив названия модуля. И вот ту я не совсем понимаю а в чём собственно разница?

Предположим вам нужно другую настройку поменять, например 'max_execution_time' и тут тоже одинаковое кол-во работы - либо ввести цифру в textarea при редактировании файла настроек, либо ввести её в поле ввода. На мой взгляд быстрота одинакова.
Нужен более быстрый способ добраться до места где могу настроить или отключить нужное мне расширение или параметр.

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

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

Re: Какие новости на фронте разработки новой версии?

Добавлено: 18 окт 2021, 06:22
Максим
Поскольку сегодня вечером выложу ядро для тестов, то сейчас заранее публикую пояснения по настройкам.
Кому интересно можете сейчас заранее изучить, спрашивайте если что-то не понято или предлагайте, всем отвечу.

Настройки программы
; Пояснения к файлу настроек

; Секция основных настроек программы

[main]
; Язык программы (пока есть только русский)
lang=Russian

; Очищать логи при каждом запуске программы или модулей (1 включено, 0 выключено)
log_clear_on_start=0

; Использовать формат ISO8601 для записи даты/времени (1 включено, 0 выключено)
log_use_iso8601_datetime=0

; Записывать основной лог программы в реальном времени (1 включено, 0 выключено).
; Если выключено (рекомендуется), то данные пакетно сбрасываются в лог ежесекундно (при наличии данных).
log_write_in_real_time=0

; Максимальный размер любого лог-файла (в мегабайтах, 0 - отключает проверку).
log_max_filesize=5

; Вставлять заголовок (время запуска и название модуля) в консольный лог модуля при запуске (1 включено, 0 выключено).
; Полезно для наглядного разделения разных сеансов запуска (рабочих сессий) одно и того же модуля. 
log_write_session_title=1

; Показывать доп. информацию в логах, пока показывает только время затраченное на запуск/остановку модулей (1 включено, 0 выключено)
log_show_ext_info=0

; Использовать HOSTS файл (1 включено, 0 выключено)
use_hosts_file=1

; Кодировка HOSTS файла (UTF8, ANSI, ASCII)
hosts_file_encoding=UTF8

; Исправлять системные записи "по умолчанию" для localhost (1 включено, 0 выключено).
; Добавляет в HOSTS файл записи "127.0.0.1 localhost" и "::1 localhost".
hosts_fix_localhost_record=1

; Очищать системный кеш DNS при изменении HOSTS файла (1 включено, 0 выключено)
clear_dns_cache_on_hosts_update=1

; Минимальное время рабочей сессии для возможности автоматического перезапуска модуля в случае падения (в секундах, 0 - отключает проверку).
; Не рекомендуется отключать эту проверку, т.к. её отсутствие может спровоцировать бесконтрольный циклический перезапуск модуля (если пользователь не следит за сервером). 
min_age_for_autorestart=30

; Максимальное время на процедуру запуска/остановки модуля (в секундах).
; Если процедура запуска/остановки модуля длится дольше этого времени, то процесс модуля и его потомки будут принудительно остановлены (убиты).
max_start_stop_time=30

; Выдавать предупреждение, если кол-во свободной оперативной памяти меньше указанного значения (в мегабайтах, 0 - отключает проверку).
; Пока эта проверка выполняется только при запуске программы.
free_memory_alert=512

; Выдавать предупреждение, если кол-во свободного места на диске меньше указанного значения (в мегабайтах, 0 - отключает проверку).
; Пока эта проверка выполняется только при запуске программы.
free_diskspace_alert=2048

; Проверять доступность порта перед запуском модуля (1 включено, 0 выключено)
use_port_checking=1

; Использовать виртуальный диск (1 включено, 0 выключено)
use_virtual_drive=1

; Буква виртуального диска (A-Z)
virtual_drive_letter=Z

; Список разрешённых переменных окружения Windows (через запятую).
; Запускаемым процессам передаются только те переменные, что указаны в списке.
; Полезно для фильтрации переменных от установленного в систему ПО (PHP и проч.).
; Любую из разрешённых переменных можно переопределить ниже в секции [environment] 
allowed_env_vars=allusersprofile appdata commonprogramfiles commonprogramfiles(x86) commonprogramw6432 computername comspec driverdata homedrive homepath localappdata logonserver number_of_processors os path pathext processor_architecture processor_identifier processor_level processor_revision programdata programfiles programfiles(x86) programw6432 psmodulepath public sessionname systemdrive systemroot temp tmp userdomain userdomain_roamingprofile username userprofile windir

; Секция для указания кастомных переменных окружения (для самой программы и для всех запускаемых процессов).
; Эти переменные могут быть отдельно переопределны в файле настроек любого модуля.
; 
; Доступны следующие значения для автозамены:
; 
; {root_dir} - домашний каталог (корневой каталог программы, например: C:\OpenServer)
; {root_drive} - диск, на котором расположен домашний каталог (например: C:)
; {root_path} - путь к домашнему каталогу (например: \OpenServer)
; 
; Если вы используете виртуальный диск (например: Z), то значения после автозамены изменятся:
; 
; {root_dir} - Z:
; {root_drive} - Z:
; {root_path} - (пусто)

[environment]
Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
TMP={root_dir}\temp
TEMP={root_dir}\temp
HOMEDRIVE={root_drive}
HOMEPATH={root_path}
Настройки модуля (для примера взял PostgreSQL-12.2)
; Пояснения к файлу настроек модуля

; Доступны следующие значения для автозамены:
; 
; {root_dir} - домашний каталог (корневой каталог программы, например: C:\OpenServer)
; {root_drive} - диск, на котором расположен домашний каталог (например: C:)
; {root_path} - путь к домашнему каталогу (например: \OpenServer)
; {ip} - IP адрес, указанный выше в настройках модуля
; {port} - номер порта, указанный выше в настройках модуля
; {module_name} - название модуля (например: PostgreSQL-12.2)
; 
; Если вы используете виртуальный диск (например Z), то значения после автозамены изменятся:
; 
; {root_dir} - Z:\
; {root_drive} - Z:
; {root_path} - \

; Секция основных настроек модуля

[main]
; 1 - модуль включён, 0 - выключен
enabled=1

; Рабочий порт модуля
port=5432

; Рабочий IP адрес модуля
ip=127.0.0.1

; Тип проверки доступности порта перед запуском модуля (tcp, udp, all)
; Проверка выполняется только если в настройках программы включён параметр use_port_checking
ip_check_type=tcp

; Хост (адрес) для подключения к модулю (записывается в файл HOSTS)
hostname=postgresql122

; Служебная опция (не изменять)
use_pid_file=1

; Служебная опция (не изменять)
min_windows_ver=6.1.7601

; Командная строка для запуска
cmd="{root_dir}\modules\{module_name}\bin\pg_ctl.exe" start -w -s -D "{root_dir}\data\{module_name}"

; Корневой каталог для запускаемого процесса
cmd_dir={root_dir}\modules\{module_name}\bin

; Служебная секция (не изменять)
; Перечисление обязательных каталогов модуля (для проверки наличия на диске)

[directories]
pgdata_dir={root_dir}\data\{module_name}

; Секция для указания кастомных переменных окружения модуля.

[environment]
Path={root_dir}\modules\{module_name}\bin\bin;%Path%

; Секция конфигов

[config_1]
; Кодировка конфига (UTF8, ANSI, ASCII) 
encoding=ASCII

; Разделитель путей
path_separator=/

; Исходник (шаблон) конфига
source={root_dir}\templates\{module_name}_pg_hba.conf

; Готовый (рабочий) файл конфига
; Пересоздаётся при запуске программы (даже если модуль выключен)
; Пересоздаётся при каждом перезапуске модуля
destination={root_dir}\data\{module_name}\pg_hba.conf

[config_2]
; Кодировка конфига (UTF8, ANSI, ASCII) 
encoding=ASCII

; Разделитель путей
path_separator=/

; Исходник (шаблон) конфига
source={root_dir}\templates\{module_name}_postgresql.conf

; Готовый (рабочий) файл конфига
; Пересоздаётся при запуске программы (даже если модуль выключен)
; Пересоздаётся при каждом перезапуске модуля
destination={root_dir}\data\{module_name}\postgresql.conf
Настройки программы (тот же файл без комментов, кому так проще для восприятия)
[main]
lang=Russian
log_clear_on_start=0
log_use_iso8601_date=0
log_write_in_real_time=1
log_max_filesize=5
log_write_session_title=1
log_show_ext_info=0
use_hosts_file=1
hosts_file_encoding=UTF8
hosts_fix_localhost_record=1
clear_dns_cache_on_hosts_update=1
min_age_for_autorestart=30
max_start_stop_time=30
free_memory_alert=512
free_diskspace_alert=2048
use_port_checking=1
use_virtual_drive=1
virtual_drive_letter=Z
allowed_env_vars=allusersprofile appdata commonprogramfiles commonprogramfiles(x86) commonprogramw6432 computername comspec driverdata homedrive homepath localappdata logonserver number_of_processors os path pathext processor_architecture processor_identifier processor_level processor_revision programdata programfiles programfiles(x86) programw6432 psmodulepath public sessionname systemdrive systemroot temp tmp userdomain userdomain_roamingprofile username userprofile windir

[environment]
Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
TMP={root_dir}\temp
TEMP={root_dir}\temp
HOMEDRIVE={root_drive}
HOMEPATH={root_path}
Настройки модуля (тот же файл без комментов, кому так проще для восприятия)
[main]
enabled=1
port=5432
ip=127.0.0.1
ip_check_type=tcp
hostname=postgresql122
use_pid_file=1
min_windows_ver=6.1.7601
cmd="{root_dir}\modules\{module_name}\bin\pg_ctl.exe" start -w -s -D "{root_dir}\data\{module_name}"
cmd_dir={root_dir}\modules\{module_name}\bin

[directories]
pgdata_dir={root_dir}\data\{module_name}

[environment]
Path={root_dir}\modules\{module_name}\bin\bin;%Path%

[config_1]
encoding=ASCII
path_separator=/
source={root_dir}\templates\{module_name}_pg_hba.conf
destination={root_dir}\data\{module_name}\pg_hba.conf

[config_2]
encoding=ASCII
path_separator=/
source={root_dir}\templates\{module_name}_postgresql.conf
destination={root_dir}\data\{module_name}\postgresql.conf
UPD

Итак. Т.к. ядро пока без какой-либо панели управления (интерфейса нет вообще), то пока сделал однооконную форму с выводом основного лога, чтобы видеть что происходит. А так же накидал несколько кнопок для управления парочкой модулей (Memcached-1.2 и MongoDB-4.4)для примера. Просьба позапускать программу на разных машинах и системах, где в будущем вы планируете работать с Open Server Panel. Вплоть до запуска в нестандартных окружениях, с перезагрузками Windows и т.д. (Open Server выдаст предупреждение и корректно выключится сам)

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

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

В архиве 17 простых модулей, все они включены и запускаются одновременно, нужно около 1ГБ свободной памяти, поэтому на слабых машинах с забитой ОЗУ могут быть проблемы с запуском.

Крайне не рекомендуется использовать HDD из-за медленной работы. Распаковывайте файлы на SSD если он у вас имеется.

Как использовать
1. Распаковать
2. Запустить /install/Microsoft-XP-Runtime-Pack.exe
3. Запустить /install/Microsoft-Runtime-Pack.exe
4. Запустить /install/settings.bat (с правами администратора обязательно)
5. Перезагрузиться
6. Запустить Open Server Panel.exe (напоминаю, это просто окошко с кнопками для тестов, это не интерфейс)

Если после запуска что-то случится, программа автоматически отправит багрепорт на сервер.

Если кто-то захочет прям поработать, то в скриптах при для подключения прописывайте адрес сервера, который указан в конфиге модуля, например mongodb42 для MongoDB-4.2 (порт стандартный 27017).

Несколько особенностей, чтобы потом не было непонятно что происходит:

- "проверка портов перед запуском модуля" работает только в Windows 8 и выше, поэтом на Windows 7 не включайте.

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

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

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

- ну и права администратора больше не нужны, вообще. Если у вас программа пишет что не может редактировать файл HOSTS, то просто воспользуйтесь этим фиксом: viewtopic.php?f=4&t=1813

Ссылка на загрузку

Re: Какие новости на фронте разработки новой версии?

Добавлено: 18 окт 2021, 12:10
DelphinPRO
Ждём с нетерпением