2010-12-07 24 views
0


我的本地網絡上有兩臺服務器 - 一臺是Web前端,另一臺是MySQL後端。我有一個PHP腳本,如下所示:當遠程查看頁面時PHP MySQL失敗

<?php 
error_reporting(-1); 
echo "Connecting...\n"; 
$link = mysql_connect("192.168.1.15", "-----", "-----") or die(mysql_error()); 
echo "Communicating with the server..."; 

mysql_query("INSERT INTO ..... 
//More code down here... 
?> 

此腳本在我的web前端上調用以連接到後端服務器。當這個腳本是從本地網絡訪問(即當我轉到http://192.168.1.14打開網頁),該腳本輸出

Connecting... 
Communicating with the server... 

和行被添加到數據庫,因爲它應該。然而,當我從沒有在本地網絡上的連接遠程(即要http://myDomainName.com/mysql_insert_script.php)連接,所有我看到的是:

Connecting... 

任何錯誤消息跟進,腳本只是切斷,並且沒有數據被添加到數據庫。當我在服務器上放置第二個「代理」腳本時,只需要()上面的腳本,然後我遠程訪問代理,一切正常。下面是代理腳本,這樣你就可以得到一個什麼樣的作品更好的主意,什麼不可行:

<?php 
//this script makes it appear that the mysql_script is being viewed from the local network 
//I exist on the web frontend at 192.168.1.14 
require("http://192.168.1.15/mysql_insert_script.php"); 
?> 

我很抱歉,如果我不能提供任何詳細信息,但我難倒。任何幫助,將不勝感激。

Chris

P.S. - 我已經驗證了mysql服務器可以從本地網絡上的外部主機訪問,但是我有一個防火牆來阻止來自我的網絡之外的連接。然而,我認爲這並不重要,因爲連接到它的MySQL服務器和PHP腳本都在本地網絡上運行。

+1

當沒有require的情況下運行它時,是否有任何東西被添加到error_log中? – 2010-12-07 17:32:57

回答