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