Кабинет: страницы собирает ядро, на хостинге — ретранслятор (Go и PHP)
- modules/lk: конверт запроса/ответа (PageRequest/PageResponse), ServeEnvelope — тот же обработчик страниц внутри ядра; клиент к API внутри процесса (Config.Local/LocalKey); режим ретранслятора (Config.Relay, BJ_RENDER=core, выбор в установщике и lk.json) - ядро: встроенный кабинет (lkcabinet.go), POST /api/lk/render для прямого режима, цикл режима ожидания выполняет конверты страниц; API через ретранслятор недостижимо - PHP-ретранслятор для обычного хостинга (modules/lk/relay-php: index.php, .htaccess, README): установщик в браузере, прямой режим через curl, режим ожидания через очередь в SQLite (BEGIN IMMEDIATE, busy_timeout), конфиг в bj-lk-data рядом с сайтом или в data под .htaccess; архив со страницы настроек (/admin/setup/lk/relay-php.zip) - настройки: карточка НПР/УДС перенесена из раздела «Лицензия» в «Экспорт QUIK»; кнопка «Обновить с сервера лицензий» видна при любом ключе - инструкция /admin/help/lk: два варианта размещения, шаги для PHP-хостинга - тесты: TestLKRelayRendersInCore (оба режима), TestLKPHPRelayAgentMode (настоящий PHP против цикла ядра, PHP_BIN), проверка безопасности через PHP-ретранслятор 34/34 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q4YVo4UMopqT5DzicqpPjL
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
package lk
|
||||
|
||||
// relayphp.go — ретранслятор для обычного PHP-хостинга, вшитый в программу: ядро отдаёт
|
||||
// его администратору архивом со страницы настроек.
|
||||
|
||||
import "embed"
|
||||
|
||||
//go:embed relay-php/index.php relay-php/.htaccess relay-php/README.txt
|
||||
var relayPHP embed.FS
|
||||
|
||||
// PHPRelayFiles — файлы ретранслятора: имя → содержимое.
|
||||
func PHPRelayFiles() map[string][]byte {
|
||||
out := map[string][]byte{}
|
||||
for _, name := range []string{"index.php", ".htaccess", "README.txt"} {
|
||||
if b, err := relayPHP.ReadFile("relay-php/" + name); err == nil {
|
||||
out[name] = b
|
||||
}
|
||||
}
|
||||
return out
|
||||
}
|
||||
Reference in New Issue
Block a user