【问题标题】:Loops with PHP shell_exec() : Use php for() or bash for-do-done?使用 PHP shell_exec() 循环:使用 php for() 还是 bash for-do-done?
【发布时间】:2014-07-09 18:56:07
【问题描述】:

假设我想用 PHP shell_exec() 执行命令 mycommand 10 次。我应该做一个 bash 循环吗:

shell_exec('for i in {1 .. 10} do mycommand -i done');

或者更确切地说是一个 PHP 循环:

for($i = 1; $i <=10; ++$i) { shell_exec('mycommand -'.$i); }

选择其中一个的原因是什么(安全性、性能、风格……)?

【问题讨论】:

  • 对我来说,使用第一个选项听起来更好。毕竟,您将只打开一次 shell,而不是十次。

标签: php bash loops for-loop shell-exec


【解决方案1】:

转到 bash 循环,因为 shell_exec 函数只被调用一次。这将比多次调用shell_exec 更快。启用 exec、shell_exec 等功能本身就是一个巨大的安全问题。如果有人设法在您的服务器上上传了一个 PHP shell,那么他就可以入侵您的服务器。

【讨论】:

    【解决方案2】:

    第一个选项执行一次shell脚本并循环。哪个更快。而在每个循环中的第二个 shell 脚本调用多次,这比第一个慢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-07
      • 1970-01-01
      • 1970-01-01
      • 2015-02-15
      • 2018-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多