2013-02-13 144 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你的任務沒有錯。