PHP脚本的查询字符串限制是通过命令行运行的吗?

时间:2012-03-07 16:18:49

标签: php command-line exec query-string

(Backstory:我的PHP脚本通过命令行执行另一个PHP脚本(PHP的“exec()”命令),这样目标脚本创建的cURL会话不会导致原始PHP脚本挂起。我是执行此操作,以便在电子邮件提供商的服务器滞后时,我可以在没有缓慢页面加载的情况下发送交易电子邮件。)

我正在调用这样的PHP脚本:

exec(“[php] [target script] [querystring]”),其中[querystring]是典型的HTTP GET查询字符串(variable = value& variable2 = value2)。我通过查询字符串将电子邮件数据传递给目标脚本的原因是我的PHP主机在PHP.ini中禁用了一个标志,禁止PHP脚本检测到他们通过命令行调用的$ argv。 (无论出于何种原因,追加查询字符串都可以。)

所以,问题是:这个查询字符串的字符限制是什么?会有一个吗?混合中没有HTTP或Web浏览器 - 这是否意味着Apache和浏览器的GET字符限制不会成为约束?但是,自然会出现命令行约束吗?

2 个答案:

答案 0 :(得分:0)

我不认为有任何字符限制,如果是,它可能由您使用的操作系统或在这种情况下将转换为您的记忆的语言决定。

我希望能回答你的问题。

答案 1 :(得分:0)

请注意,安装了suhosin补丁的PHP设置的默认限制为 获取参数的512个字符。虽然做法不好,大多数浏览器(包括IE) 支持最多约2000个字符的URL,而Apache的默认值为8000.要添加 使用suhosin支持长参数,在php.ini中添加suhosin.get.max_value_length =