python:参数列表太长

标签 python php linux ubuntu

我正在开发一个使用 python 脚本的 PHP back。在 PHP 中,执行查询和处理,最后作为参数传递给脚本,使用最终使用 exec () 执行的命令创建字符串

$arg4Json= str_replace("'", "´", json_encode($arg4));
$command = "python ../path/of/file"
    . "/script.py {$arg1} "
    . "{$arg2} {$arg3} '{$arg4Json}'";    
$output = null;
$returnVal = null;
exec($command, $output, $returnVal);
这工作得很好。但是,在某个查询中,arg4Json 太长并且服务崩溃。尝试使用相同的参数直接在控制台中运行命令,它会返回消息:

python: Argument list too long


我已经对此进行了调查,显然这与控制台允许执行命令的最大长度有关,并且有必要增加限制。最后,我能够增加“堆栈大小”并使其不受限制以测试它是否有效,但它不断向我抛出同样的错误。
ulimit_list
如果有人能指导我如何解决这个问题,我将不胜感激。该项目在 Apache2 上使用 ubuntu 的 linux 服务器上运行。

最佳答案

为什么不将参数放在文件中。并更改程序的行为以从文件中读取参数,而不是将它们作为参数传递。我认为它更有效

关于python:参数列表太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69532114/

相关文章:

python - 如何与 Django 一起设置连续运行的进程?

python - 如何尽可能长时间地向上移动特定列中的值?

PHP变量随机变为NULL

php - 调整一个php函数,使其以:- '/widgets?pg=2' instead of 'products.php?cat=20&pg=2' 的形式显示链接

linux - 关闭套接字的最佳实践。 SO_LINGER 或关闭/关闭?

python - 如何合并 Pandas 中的两个互斥列?

python - 如何为 nltk 词形还原器提供(或生成)标签

javascript - PHP 的 sprintf 函数的 JavaScript 等价物是什么?

linux - Bash 行使用文件路径中的通配符检查文件路径是否存在

c# - 在 mod_mono (3.12.1) 上运行的 XHR 代理中的 System.Threading.ThreadAbortException