2013-02-01 28 views
0

我正在開發一個PHP應用程序,需要從我的計算機(或任何IP)遠程訪問MySQL(EC2實例)。應用程序需要是獨立的,這意味着如果隧道是必需的,那麼應用程序需要能夠做到這一點。目前我使用下面的代碼連接到MySQL:在非AWS服務器上對PHP應用程序的MySQL EC2實例進行遠程訪問

$conn = mysql_connect($serverName, $uid, $pwd) or die(print_r(mysql_error(), true)); 

// select database 
$dbname='xxxxx'; 
mysql_select_db($dbname); 

我試圖打開在AWS控制檯安全組的端口的MySQL,並與給予的IP接入發揮各地。我知道EC2需要密鑰才能訪問,所以我想知道是否有任何函數允許我使用密鑰來連接和查詢數據,以及將數據返回到我的應用程序中以供使用。

以下是錯誤消息我目前recieving:

XMLHttpRequest cannot load /myapp.php? Origin null is not allowed by Access-Control-Allow-Origin. 

這似乎並不能夠將數據加載回來了,很奇怪的是我得到的一些信息從數據庫在文件中。不知何故,它無法按照我想要的方式返回並處理信息。當相同的應用程序在本地主機上,它工作正常

任何幫助將不勝感激!

+0

我不是一個PHP開發人員,但檢查這個http://en.wikipedia.org/wiki/Same_origin_policy – gustavodidomenico

回答

0
  1. 你不需要使用鍵連接到MySQL。在傳統環境中,沒有什麼特別的關於ec2的mysql設置。爲了安全起見,如果它通過互聯網遠程訪問,最好使用一個ssl連接(或SSH隧道)連接到mysql。

  2. 其他錯誤消息與mysql無關。你正在做一個跨域的Ajax請求。默認情況下,瀏覽器會阻止它。最近的瀏覽器允許您設置一個Access-Control-Allow-Origin標題以允許跨域請求。

+0

所以我需要在本地計算機上的所有必要的文件(腳本和.PHP)但我將能夠訪問mySQL沒有問題與開放端口和正確的IP? – user2033570

+0

這是正確的。 – datasage

相關問題