2015-09-07 119 views
-2

我在000webhost上有一個免費的主機,我有一個MySQL數據庫,在那裏存儲數據。在file_get_contents上拒絕訪問

我發現出於某種原因,我只能從該網站連接到該數據庫。如果我要複製&粘貼,可以說,從該服務器到另一個的index.php,我會得到訪問被拒絕。

我的目標是從該數據庫中獲取一些數據並將其顯示在另一臺服務器上,因此,由於直接方法不起作用,我在數據庫服務器上創建了一個文件,該文件將在本地運行查詢,並在另一個文件上運行將使用file_get_contents()函數來獲取數據的服務器。

加載文件(與數據庫服務器)

mysql_connect($host, $username, $password)or die("cannot connect"); 
mysql_select_db($database)or die("cannot select DB"); 


$Qry = mysql_query("SELECT * FROM dctt_users ORDER BY FirstSave"); 
$num = mysql_num_rows($Qry); 
$Qry2 = mysql_query("SELECT TimesSaved FROM dctt_users WHERE UserName = 'Default Name' ORDER BY FirstSave"); 
$line = mysql_fetch_array($Qry2); 
$num = $num + $line['TimesSaved']-1; 
echo $num; 

獲取文件(上未涉及到一個與MySQL數據庫服務器)

$filename = "http://blink-forum.site90.com/dctt/test.php"; 
$content = file_get_contents($filename); 
echo $content; 

而且即使它看起來像它應該工作得很好,但事實並非如此。

有沒有人知道這個解決方案,或者即使有我直接連接的方法?

+0

有什麼錯誤?什麼不工作? – dman2306

回答

1

在某些配置上,MYSQL只接受來自本地主機(與數據庫位於同一臺服務器上的腳本)的連接。在控制面板中應該有些東西說明了遠程數據庫主機的一些事情。您需要在那裏配置對您的數據庫的遠程訪問。

下面是從的cPanel的截圖,如果這是你的主機使用的是什麼: enter image description here

+0

不幸的是,沒有..只有這個支持(db概述和phpmyadmin鏈接。 prntscr.com/8dhi6e) – DethoRhyne

+1

我的不好。根據這篇幫助文章,遠程數據庫連接在免費層被禁用。http://www.000webhost.com/faq.php?ID=27 – blazerunner44

+0

嗯,這清除出來然後,這是一個很大的失望,因爲我不想託管我在該服務器上工作的網站。感謝您的幫助! – DethoRhyne

2

the manual(重點煤礦):

如果fopen封裝已啓用

一個URL可作爲文件名使用此功能我敢打賭,你的超低價主機服務商尚未啓用此功能以阻止用戶使用帶寬報廢網站等。當您通過http請求頁面時,文件駐留在同一臺服務器上的事實是無關緊要的。

另一種方法是使用cURL發出http請求並獲取響應。

<?php 
     // create curl resource 
     $ch = curl_init(); 

     // set url 
     curl_setopt($ch, CURLOPT_URL, "example.com"); 

     //return the transfer as a string 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

     // $output contains the output string 
     $output = curl_exec($ch); 

     // close curl resource to free up system resources 
     curl_close($ch);  
?> 
+0

對不起,但這並沒有真正幫助我。我會欣賞一個愚蠢的版本,因爲我不像你以爲我那麼聰明。編輯:試圖用你張貼的cURL。沒有工作;相同的結果。 「拒絕訪問」就是這樣。 – DethoRhyne

+0

@ blazerunner44回答了下面的問題。現在很清楚。感謝您的協助,以及您向我介紹了curl,這將有助於我以其他方式:) – DethoRhyne