2011-04-28 197 views
0

我已經使用get_meta_tags(「squidoo.com」)來獲取關鍵字和描述。當我用WAMP Server 2.1(PHP 5.3)運行我的電腦時,它工作的很好,但是當我上傳到Linux服務器PHP 5.2時,它對於squidoo.com並不適用。爲什麼get_meta_tags()無法正常工作

$datas = get_meta_tags("http://squidoo.com") 

$keywrds = $datas['keywords']; 
$desc = $datas['description']; 

測試時,我在我的電腦它完美地工作,但在$ keywrds和$遞減空白數據時,我上傳到服務器上運行。

以上代碼的工作幾乎場所,我得到www.squidoo.com錯誤和其他一些人只

+0

爲什麼不實際描述發生了什麼?它會給出錯誤嗎?它會返回意想不到的事情嗎你用來檢查退貨等的代碼是什麼等等。請在你的問題上稍加努力... – Nanne 2011-04-28 13:54:44

+0

謝謝。我已更新問題 – 2011-04-28 14:03:35

回答

3

您沒有向我們提供有關您遇到的錯誤的更多信息,但導致失敗的最可能原因是您的本地服務器配置爲允許打開文件的命令使用URL,而您的Linux服務器不是。

這是一個PHP.ini配置設置,它指定您是否可以使用URL作爲文件名。如果它被關閉,那麼PHP將不允許你從遠程站點打開文件,並且只允許它從本地服務器上的文件中獲取它。

關閉它被認爲是很好的安全實踐,所以大多數PHP託管服務提供商會默認關閉它。您可以根據您的提供商自行開啓它,也可以通過使用CURL下載URL並檢查下載的文件來解決此問題。

參考設置了該配置PHP手冊錄入這裏:http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen

+0

我測試$ datas = get_meta_tags(「http://squidoo.com」) $ keywrds = $ datas ['keywords']; $ desc = $ datas ['description']; 當我在我的電腦上運行它的工作完美,但是當我上傳到服務器時,$ keywrds和$ desc中有空白數據。 – 2011-04-28 14:00:27

+0

@Spiker - 你檢查了'allow-url-fopen' INI設置的值嗎? – Spudley 2011-04-28 14:03:47

1

這可能是因爲你有你的WAMP安裝名爲squidoo.com本地文件。如果你想讓它實際的網站上工作,那麼你必須提供一個網址:

print_r(
    get_meta_tags("http://squidoo.com") 
); 

通知從文件區分網址的http://

相關問題