使用HOSTALIASES进行PHP-FPM

Aro*_*vak 17 php linux

有一种方法可以对每个进程覆盖名称解析 过程 - 本地覆盖名称解析吗? 使用HOSTALIASES.你认为它也适用于PHP-FPM工作者吗?我在/etc/php-fpm.d/www.conf中有这一行:

env[HOSTALIASES] = /etc/hosts.php-fpm
Run Code Online (Sandbox Code Playgroud)

当我检查$ _SERVER时,我看到HOSTALIASES,但是hosts.php-fpm(127.0.0.1 example.com)中的实际覆盖无效,它是从名称服务器返回的.你对如何制作(类似的解决方案)有建议吗?

小智 1

您试图以错误的方式使用 HOSTALIASES。要受到尊重,别名应满足 2 个要求:

  1. 不应包含点(我相信这是检查它的代码)。man of hostname(7)中提到了这一点
  2. 目标应该是完整的主机名。主机名文档中也提到了这一点。

因此,您在 HOSTALIASES 中的记录应该如下所示

example someexample.com
Run Code Online (Sandbox Code Playgroud)

如果您需要为 ip 别名,您可以使用xip.io之类的东西

一般来说,这应该适用于任何依赖 gethostbyname 的 php 函数(对于 php-fpm 也是如此)。