【发布时间】:2019-11-15 18:40:59
【问题描述】:
我想捕获屏幕并将其存储到服务器。我已经使用下面的命令在我的 php 代码中实现了屏幕截图。
$exec_command = "wkhtmltoimage --quality 10 --window-status 'wbcaptureready' --width 1200 --post 'estr'
'JTNDVFZXQiUzRSUzQ3diJTIwc0lkJTNEJTIyd2I3NzYyNzVpeWFma3hya3Qy9UVldCJTNF' --post 'ispagehasdocument' '0' --height 1260 --enable-plugins --no-stop-slow-scripts https://example.org/page/capture/ '/data/screencapture/data/1234/1256/screenshots/screenshots/wbPage_^{4BEFBE59-EF14-4de4-9D08-3267BB76D8EA^}_0.png'";
$output = system($exec_command, $resCommand);
当我运行上面的代码时,它工作正常。但是当我将大量的值文本传递给名为estr 的参数时,当我回显$resCommand 的值时,它会抛出错误代码号127(找不到命令)。而且当我尝试在腻子中执行命令时,它会抛出如下错误,
-bash: /usr/bin/wkhtmltoimage: Argument list too long
基于上述错误,我在互联网上冲浪,我得到了一些建议,比如我必须增加 ARG_MAX 的值。但这些建议并不明确和模糊。我找不到参数以及如何增加值。
请建议我在哪里以及如何增加 ARG_MAX 值,或者如果有任何其他解决方案可以解决此问题,请建议我?
我的操作系统版本:-Linux version 2.6.32-696.6.3.el6.x86_64 (mockbuild@c1bl.rdu2.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) )
谢谢, 拉维钱德兰
【问题讨论】:
-
你能分享一个导致错误的值吗?如果是这样,此值是否包含任何字符
$/\'" -
@TarunLalwani 不,它没有 $/\'" 这些字符。它是 base64 编码的文本。
-
@TarunLalwani 我清楚地提到了错误
Argument list too long。我怎样才能解决这个问题?。有没有其他方法可以解决这个问题?。 -
你能确认长度是多少,然后你得到一个错误?在我看来应该是
8192
标签: php arguments wkhtmltoimage