2013-02-13 139 views
1

我们在服务器中安装了多个虚拟主机/域。我需要从一个不同的VHost(读取:相同的服务器,不同的v主机)的VHost中将数据发布到文件(基本上执行php并获得结果)。Curl的替代方案 - 本地文件

我可以用curl来做到这一点。像curl http://vhost/file.php一样。但我想知道如果没有curl这个更好的方法来执行一个本地php文件。另一个问题是与虚拟主机。虚拟主机配置不正确。所以localhost而不是vhost是唯一的选择,所以它不起作用。

任何想法?

+0

为什么你需要一个“更好”的方式?它可以工作,而且没有任何事情可以通过网络传播,流量在网络堆栈碰撞NIC之前就会反弹回来。除非你想重新编写这些应用程序来处理一些奇怪的本地调用新方法,否则我会保持原样。 – Sammitch 2013-02-13 17:18:05

+0

@Sammitch对不起,我是网络新手。那么你是说,即使我使用公共URL,例如'http:// mydomain.com',它将直接击中本地服务器而不是通过网络? – 2013-02-13 17:19:28

+1

这是正确的。唯一会在网络上出现的是主机名的DNS查找。 – Sammitch 2013-02-13 17:22:06

回答

0

为什么你需要一个“更好”的方式?它可以工作,而且没有任何事情可以通过网络传播,流量在网络堆栈碰撞NIC之前就会反弹回来。除非你想重新编写这些应用程序来处理一些奇怪的本地调用新方法,否则我会保持原样。

只有通过网络才能解决主机名的DNS请求。

3

shell_exec()将执行本地命令并返回一个字符串。

$output = shell_exec('php file.php');应该做你想做的事。你将不得不通过参数传递域名,因为命令行不知道任何不同。

1

如果我理解正确,则需要执行POST请求。 POST是一个HTTP请求的方法,这是curl的用途。这就是说我看到使用CURL你的任务没有错。