2012-03-07 85 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