2010-11-29 56 views
1

我想讓PHP執行到另一臺服務器的捲曲連接。要連接到服務器,我們需要通過代理。 在bash中,我們已經設置了env變量http_proxy,並且在使用命令行中的php腳本時,它可以正常工作。但是,當試圖執行curl或apache的wget時,它會失敗並且沒有錯誤。 服務器使用基於Centos默認設置的SELinux進行配置。這一直沒有改變,因爲我對SELinux配置不確定。 有沒有其他人有類似的問題?通過HTTP代理的Apache curl

回答

1

對不起,遲到的迴應。 這是與SELinux阻止apache執行呼叫到網絡。爲了讓Apache來做到這一點,你需要運行:

setsebool -P httpd_can_network_connect 1 

我,然後用另一個相關的問題,我需要在命令行中執行腳本,無法找到一個合適的SELinux的財產提出這樣結束了禁用它...哦,好。

0

當你「從命令行執行」時,Web服務器進程很可能不會在同一用戶下運行,它可能不會有相同的shell環境。 但是,您可以在curl請求中顯式配置代理服務器。如果我記得它正確的-x開關。你也可以傳遞很多參數。只需查看聯機幫助頁即可。 wget支持代理,但據我堅信你配置的參數。請參閱聯機幫助頁。