我寫了一個簡單的API,將數據從一臺服務器集合到另一臺服務器。它是一個非常簡單的基於$_GET
的api,其中所有數據都作爲GET數據附加到url。問題php file_get_contents和文件長度
所以我得到的是這樣的: http://example.com/api.php?param1=afdsa¶m2=TTTT&....
等
爲了調用它,我用file_get_contents($url);
首先是 - 我並不真的需要答覆的內容。我只需要「觸摸」這個網址,這樣它就會啓動。
我有我的託管(共享,justhost)的問題,我已經搬到了VPS。 我開始讓我的API調用超時,當我檢查了Apache的error.log我已經看到:
"failed to open stream: File name too long in ..."
事實上 - 在$url
字符串是大約450個字符。
問題是 - 我在哪裏更改文件長度的設置。它與硬盤驅動器文件系統不一樣,因爲我自己的計算機使用相同的字符串,沒有問題,也沒有錯誤。 也 - 共享主機沒有任何問題,該網址。
的VPS運行的Ubuntu 10.04 LTS與PHP版本5.3.2-1ubuntu4.9
得到任何幫助,一直坐在那兩天
解決
那麼你知道如何是否當你認爲你知道問題在哪裏但它不是?好 - 那就是問題所在。 我已經重寫了我的API,所以它會做的是print_r($_GET);
,你知道什麼 - 它工作正常。 所以我開始逐一添加這些行,並發現堆棧腳本是一個PHP郵件函數。爲什麼?我不知道,也許郵件設置不正確 - 但現在,當我評論了郵件 - 所有工作正常。
它仍然沒有解釋我的「文件到長」的錯誤,但沒關係。感謝大家
我有一些你可以考慮的事情 - 爲什麼使用'file_get_contents'如果你需要做的就是「打」一切工作的URL?有cURL,有'header()'.. – 2011-05-26 13:11:45
實際上,如果我將所有網址粘貼到瀏覽器地址欄,腳本也會堆疊,這不是我稱之爲的方式,也不是其他方式。該腳本運行,但我得到「PHP通知:未定義的索引:」,它需要很長的時間 – TwoDiv 2011-05-26 13:19:50
嗯,這是PHP郵件的問題,編輯我的帖子 – TwoDiv 2011-05-26 14:04:32