054222d154
- 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
21 lines
707 B
Go
21 lines
707 B
Go
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
|
|
}
|