У меня есть существующее PHP-приложение, которое я встраиваю в новый образ Docker с помощью FrankenPHP, основанного на Caddy.
Вот мой Dockerfile. Но это не работает.
Я хочу, чтобы запросы от /api/[file.php] сначала выполнялись в /app/public/html/api/[ файл.php]. А если файл не существует, используйте /app/public/addons/[file.php].
Это кажется простой идеей, но я не могу ее понять. работать.
Я впервые использую Caddy и FrankenPHP. До этого я пытался заставить его работать с Nginx Unit, но безуспешно. Кажется, Unit здесь слишком ограничен. Похоже, Caddy и FrankenPHP смогут это сделать, но я не разобрался с синтаксисом.
Я бы не хотел возвращаться и пытаться разобраться с этим с помощью php-fpm.
Любые предложения приветствуются. Это просто очень старое приложение, и оно не поддерживает маршрутизацию всего через index.php. Он не использует никаких фреймворков.
:8080 {
log {
# Redact the authorization query parameter that can be set by Mercure
# format filter {
# request>uri query {
# replace authorization REDACTED
# }
# }
level DEBUG
}
root * /app/public/html
encode zstd br gzip
route /healthcheck {
respond "Server is up" 200
}
route /api/*.php {
@indexFiles file {
try_files html/{path} /app/public/addons/{path}
}
rewrite @indexFiles {http.matchers.file.relative}
@phpFiles path *.php
php @phpFiles
file_server
}
route {
# Add trailing slash for directory requests
@canonicalPath {
file {path}/index.php
not path */
}
redir @canonicalPath {path}/ 308
## If the requested file does not exist, try index files
@indexFiles file {
try_files {path} {path}/index.php
split_path .php
}
rewrite @indexFiles {http.matchers.file.relative}
# FrankenPHP!
@phpFiles path *.php
php @phpFiles
file_server
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... hen-fallba
Как настроить Caddy & FrankenPHP на выбор каталога для файла, а затем возврат к другому местоположению? ⇐ Php
Кемеровские программисты php общаются здесь
1727670586
Anonymous
У меня есть существующее PHP-приложение, которое я встраиваю в новый образ Docker с помощью FrankenPHP, основанного на Caddy.
Вот мой Dockerfile. Но это не работает.
Я хочу, чтобы запросы от /api/[file.php] сначала выполнялись в /app/public/html/api/[ файл.php]. А если файл не существует, используйте /app/public/addons/[file.php].
Это кажется простой идеей, но я не могу ее понять. работать.
Я впервые использую Caddy и FrankenPHP. До этого я пытался заставить его работать с Nginx Unit, но безуспешно. Кажется, Unit здесь слишком ограничен. Похоже, Caddy и FrankenPHP смогут это сделать, но я не разобрался с синтаксисом.
Я бы не хотел возвращаться и пытаться разобраться с этим с помощью php-fpm.
Любые предложения приветствуются. Это просто очень старое приложение, и оно не поддерживает маршрутизацию всего через index.php. Он не использует никаких фреймворков.
:8080 {
log {
# Redact the authorization query parameter that can be set by Mercure
# format filter {
# request>uri query {
# replace authorization REDACTED
# }
# }
level DEBUG
}
root * /app/public/html
encode zstd br gzip
route /healthcheck {
respond "Server is up" 200
}
route /api/*.php {
@indexFiles file {
try_files html/{path} /app/public/addons/{path}
}
rewrite @indexFiles {http.matchers.file.relative}
@phpFiles path *.php
php @phpFiles
file_server
}
route {
# Add trailing slash for directory requests
@canonicalPath {
file {path}/index.php
not path */
}
redir @canonicalPath {path}/ 308
## If the requested file does not exist, try index files
@indexFiles file {
try_files {path} {path}/index.php
split_path .php
}
rewrite @indexFiles {http.matchers.file.relative}
# FrankenPHP!
@phpFiles path *.php
php @phpFiles
file_server
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79037910/how-i-configure-caddy-frankenphp-to-try-a-directory-for-a-file-and-then-fallba[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия