我写了一个快速的PHP页面来处理502个请求.当遇到502并触发电子邮件时,Nginx将重定向到此页面.
问题是,遇到502的大部分时间是因为PHP已经死亡,所以写入数据库并使用PHP发送电子邮件已不再可能.对PHP-FPM设置的调整已经做了很多工作来帮助(重启PHP等),但我仍然喜欢回退.
有许多方法可以在PHP之外发送电子邮件,但我很好奇其他人在做什么并取得了成功?我想保持配置简单(即没有另一个复杂的依赖关系担心服务器)和可靠性原因.
谷歌搜索和搜索SO没有太多,可能是因为"死亡"和"失败"为我的场景带来了很多误报.
SO 和其他地方有很多关于如何设置的帖子。到目前为止,我还没有成功地让它发挥作用。
设置
本地计算机 - Windows 10,安装了 Cygwin、git bash 和 WSL2,安装了 Ubuntu;和 MacBook Air (Mojave)
主机 - 运行 Amazon Linux 2
Docker 容器的 AWS EC2 实例 - CentOS 7.8 运行带有 Xdebug 的 PHP
目标
利用从本地计算机到容器的反向隧道,从本地计算机远程调试容器中的 PHP 代码。
当 PHP 代码本地安装在主机上时,我已经得到了这个工作,所以问题不在于 Xdebug。一旦我将 PHP 代码移至容器中,调试就不再起作用。
我尝试过
设置从本地计算机到主机 EC2 实例的反向隧道是有效的。为此,我ssh -vvv -i "aws.pem" -R 9000:localhost:9000 user@ec2instance在终端、cygwin 或 git bash 中进行操作,并nc -z localhost 9000 || echo 'no tunnel open'在主机上进行测试。
当我docker exec -it container bash进入容器并运行 nc 时,隧道不可用。
我正在使用 docker-compose: …