PHP FPM 在 Cloud 中终止每个请求 运行

PHP FPM dies every request in Cloud Run

我正在尝试 运行 Google 云 运行 中的示例应用程序(完全托管)。每次我向实例发送请求时,都会收到 503 服务不可用。

日志告诉我,进程每次都在同一个 PID 上重新启动,所以进程在每次请求时都会死掉。

由于我有一个非常标准的图像,我不确定是否有我犯的错误或对事情如何运作的误解。

Docker 文件

FROM php:7.4-fpm-alpine3.11

RUN sed -i 's/9000/${PORT}/' /usr/local/etc/php-fpm.d/zz-docker.conf

RUN mkdir /var/www/public; echo 'This page works' > /var/www/public/index.php
EXPOSE ${PORT}
CMD ["php-fpm", "-F", "-R"]

日志:

目前我假设错误是由于 fpm 容器中缺少 HTTP 服务器造成的。我遵循了 Daniel 提供的 tutorial,这对我当前的用例来说效果很好。

您需要在 dockerfile 中添加网络服务器(例如:nginx、apache)。 如果请求的文件包含 php 代码,Web 服务器将处理您的请求并传输到 php-fpm。