【发布时间】:2012-03-25 04:49:24
【问题描述】:
(背景故事:我的 PHP 脚本正在通过命令行(PHP 的“exec()”命令)执行另一个 PHP 脚本,因此目标脚本创建的 cURL 会话不会导致原始 PHP 脚本挂起。我在这样做是为了如果电子邮件提供商的服务器滞后,我可以发送交易电子邮件,而不会为我的用户带来缓慢的页面加载。)
我正在调用这样的 PHP 脚本:
exec("[php] [target script] [querystring]"),其中 [querystring] 是典型的 HTTP GET 查询字符串 (variable=value&variable2=value2)。我通过查询字符串将电子邮件数据传递给目标脚本的原因是我的 PHP 主机在 PHP.ini 中禁用了一个标志,该标志不允许 PHP 脚本检测通过命令行调用它们的 $argv。 (无论出于何种原因,附加一个查询字符串仍然有效。)
所以,问题是:这个查询字符串的字符限制是多少?还会有一个吗?混合中没有 HTTP 或 Web 浏览器——这是否意味着 Apache 和浏览器的 GET 字符限制不会成为约束?但是,自然会有命令行约束吗?
【问题讨论】:
-
自己测试很简单;-)
标签: php command-line exec query-string