2014-10-01 74 views
0

我想要做的是使用PHP來發出http請求,這樣我安裝http擴展並且看起來很成功,因爲如果我運行phpinfo(),我可以清楚地明確http擴展名。php http擴展安裝正常,但從來沒有工作

但是,這裏的問題是,即使是最簡單的http函數也無法正常工作。

例如,如果我嘗試了以下兩種情況:

  1. 回聲1; echo http_request(HTTP_METH_GET,「http://www.google.com」);

我會得到「1」作爲回報。

  1. echo http_request(HTTP_METH_GET,「http://www.google.com」); echo 1;

我沒有得到任何東西。

任何人都可以幫助我嗎?我花了太多時間。 - 非常感謝。

+0

請暫時打開您的錯誤報告(http://php.net/manual/en/function.error-reporting.php),以便我們可以看到錯誤說的是什麼,或者找到你的error_log(http://php.net/manual/en/function.error-log.php)位置並找到錯誤。您也可以嘗試使用curl功能或fopen(假設您有權使用它打開網址?)? – Hans 2014-10-01 03:28:28

+0

@Hans雖然它很受歡迎。 - 只是我在這裏發佈,似乎http_request是一個「無限循環」,因爲「回聲1」永遠不會執行第二種情況。但對於第一種情況,我可以得到「回聲1」。 – ylongqi 2014-10-01 04:22:03

+0

@Hans當我在php代碼中添加「error_reporting」後,我還沒有看到任何報告。我需要去文件系統的其他地方去報告嗎?謝謝 – ylongqi 2014-10-01 04:23:26

回答

0

請檢查是否有http.so文件在你的PHP擴展庫 通常它定位在/ usr/lib中/ PHP /分機/無調試無zts-。

如果是這樣,添加在/ etc一個的php.ini文件/

和線 延長= http.so

我想應該是沒有問題的。

0

我認爲你需要在你的php.ini文件

改變一些變化enable_dl = Offenable_dl = On

看一看here

0

可能是你已經安裝了版本2 *的pecl_http 與版本1非常不同並且不兼容。*。

p.s.您可以在phpinfo()輸出中查看版本