2013-05-14 155 views
0

我有一個cron作業計算上服務器A的磁盤空間執行另一個PHP腳本

我有一個存儲的磁盤空間服務器B一個MySQL數據庫值

服務器A在不允許訪問MySQL數據庫ServerB(規則直接MySQL連接)

服務器A不能服務器B打開文件(排除include();

服務器A服務器B沒有shell_exec()能力

我用那麼get方法接收文件$_REQUEST值試圖header("Location: http://ServerB.com/record.php?disk_space=$disk_space");但它只在通過瀏覽器運行時才起作用,而不能在作爲cron作業運行時起作用。

我認爲沒有適當的選擇。但我對一種特殊或sc solution的解決方案感到滿意。請提出你的想法。 TIA

+0

curl,file_get_contents()甚至wget從一個cron作業都會正常工作 – 2013-05-14 22:04:41

+0

這可以歸結爲您想使用什麼網絡協議的問題。如果MySQL服務器也運行一個Web服務器,那麼你可以像處理普通的動態網頁那樣對待這個端口,並且只需從cron作業(通過PHP本身或者wget,curl等)打出URL即可。根據您的設置,您可能需要更高的安全性,在這種情況下,SSH或類似的東西可能是更好的選擇。在這方面你有任何限制/偏好嗎? –

回答

2

您可以直接通過多個HTTP庫(以及file_get_contents())直接點擊外部腳本。

參見:

你甚至可以使用sockets發出請求:

Lo選項(多於這裏包括的)。最簡單的,如果你的需求很簡單,只是file_get_contents

0

創建一個擴展名爲php的文件,並用mysqli_connect等編寫你的腳本,並處理你想要做的事情,就好像你自己在瀏覽器上運行這個頁面一樣,而不是運行該文件的cron作業,應該這樣做。

+0

感謝您的回答,但cron文件必須從MySQL服務器託管的獨立服務器執行,並且運行'mysqli_connect'將無法從外部服務器運行。 – Iniquity666

相關問題