2010-04-17 173 views
1

看來我不能在我的共享服務器上使用shell_execproc_open在PHP中是否有shell_exec和proc_open的替代方案?

我得到的,當我嘗試使用它的消息:

警告:了shell_exec()已因安全原因被禁止在/home/georgee/public_html/admin/email.php 4號線

有沒有這些功能的替代品?

+0

我需要該函數來運行另一個腳本,比如'php someotherfile.php'。 – 2010-04-17 05:49:29

+1

include someotherfile.php – 2010-04-17 06:03:58

+0

*(旁註)*檢查'disable_classes'和'disable_functions'的ini設置中'phpinfo()'的輸出以查看不可用的內容。 – Gordon 2010-04-17 11:12:43

回答

2

我假設你想用這個進行異步處理,例如在單獨的進程中發送eMails(因此在email.php中有錯誤)。如果是這樣,請檢查是否啓用了cURL。您可以通過HTTP請求觸發您的腳本,而無需等待響應。

延伸閱讀:

如果捲曲不可用,請嘗試使用非阻塞流使用方法:

爲了增加安全性,可以考慮使用自定義的API密鑰,所以電子郵件發送URL不能擅自觸發。將它作爲GET或POST傳遞。您也可以驗證請求是否來自同一臺服務器。

1

唯一的選擇是不使用共享主機。他們不希望你這樣做是有原因的。

0

只需跟進需要使用共享主機的人員。雖然我不再推薦HostGator由於他們的低於標準支持(由EIG購買產生),但他們允許popen

相關問題