2012-03-07 67 views
3

(背景故事:我的PHP腳本是通過命令行執行另一個PHP腳本(PHP的「EXEC()」命令),以使目標腳本創建捲曲會話不會導致原來的PHP腳本掛我做的這讓我可以把事務性郵件沒有頁面加載緩慢的我的用戶,如果電子郵件服務提供商的服務器是laggy)通過命令行運行PHP腳本的查詢字符串字符限制?

我打電話PHP腳本是這樣的:

EXEC(「[PHP] [目標腳本] [querystring]「),其中[querystring]是一個典型的HTTP GET查詢字符串(變量=值& variable2 = value2)。我通過查詢字符串將電子郵件數據傳遞給目標腳本的原因是,我的PHP主機在PHP.ini中禁用了一個標誌,該標誌禁止PHP腳本檢測通過命令行調用的$ argv。 (無論出於何種原因,附加一個querytring工作雖然)。

所以,問題是:什麼是對這個查詢字符串的字符數限制?會不會有一個?組合中沒有HTTP或Web瀏覽器 - 這是否意味着Apache和瀏覽器的GET字符限制不會成爲約束條件?但是,自然會有命令行約束嗎?

+0

自己測試它非常簡單;-) – kirilloid 2012-03-07 19:31:28

回答

0

我不認爲有任何字符的限制,如果是,它可能是由您所使用的操作系統,或在這種情況下會轉化爲你的記憶的語言決定。

我希望這能回答你的問題。

0

請注意安裝將有 512字符的GET參數的默認限制在了Suhosin補丁PHP設置。儘管不好的做法,大多數瀏覽器(包括IE) 支持網址高達約2000個字符,而阿帕奇有8000默認添加 支持與長了Suhosin參數,添加suhosin.get.max_value_length =在php.ini