我们在我们的服务器中设置了多个虚拟主机/域。我需要从不同的 VHost(读取:相同的服务器,不同的 v-hosts)将数据发布到 VHost 中的文件(基本上执行 php 并获取结果)。
我能够做到这一点curl
。喜欢curl http://vhost/file.php
。但我想知道是否有更好的方法可以在没有curl
, 的情况下执行本地 php 文件。另一个问题是虚拟主机。虚拟主机配置不正确。所以localhost
不是 vhost 是唯一的选择,所以它不起作用。
有任何想法吗?
shell_exec()
将执行本地命令并返回一个字符串。
$output = shell_exec('php file.php');
我认为应该做你想做的事。您将不得不使用参数传入域名,因为命令行不知道有什么不同。
如果我理解正确,您需要执行 POST 请求。POST 是一种 HTTP 请求的方法,这就是 curl 的用途。话虽如此,我认为将 CURL 用于您的任务没有任何问题。
为什么需要“更好”的方式?它起作用了,实际上没有任何东西通过网络流出,流量会在到达 NIC 之前很久就反弹回网络堆栈。除非您想重新编码这些应用程序以处理一些奇怪的本地调用新方法,否则我会保持原样。
唯一真正通过网络发出的是用于解析主机名的 DNS 请求。