/dev/null &"); 在orderWatcher.php中我-6ren">
gpt4 book ai didi

php - 我的服务器可以同时运行多少个 php 脚本?

转载 作者:搜寻专家 更新时间:2023-10-31 22:03:14 24 4
gpt4 key购买 nike

我有一个最终用户可以访问的脚本,它进行以下调用:

exec("php orderWatcher.php $insertedId > /dev/null &");

在orderWatcher.php中我做了一些耗时比较长的操作:

 if (checkSomeStuff) {
sleep(60);
}
makeOtherStuff();

我知道我可以运行与用户请求一样多的 php 脚本,但我不确定当我调用 exec() 时是否仍然如此,因为(根据我的理解)这执行了一个系统中类似 shell 的命令。

此外,如果我执行测试(此测试已被修改以使其与问题相关,它们实际上比这更有意义):

class OrderPlacerResultOrders extends UnitTestCase {

function testSimple() {
exec("php orderWatcher.php $insertedId > /dev/null &");
// Wait for exec to finish
sleep(65);
$this->assertTrue(orderWatcherWorked(1));
// No problem here

}

function testComplex() {
for($i = 0; $i < 100; ++$i) {
exec("php orderWatcher.php $insertedId > /dev/null &");
}
// Wait a really long time
sleep(1000);
for($i = 0; $i < 100; ++$i) {
$this->assertTrue(orderWatcherWorked(i));
// Failure arround the 17th case
}


}

}

测试不是重点,测试让我提出了以下问题:

  1. 服务器可以对 php 脚本进行和处理多少次 exec 调用?
  2. 如果数量有限,那么脚本的两个实例正在请求 exec 会有所不同(因为两个不同的网络用户调用进行 exec 调用的脚本)?或者它是否与在同一脚本中调用相同(如在测试中)?

PD:除了 php 想不出任何标签,如果你想到一个请标记问题

最佳答案

通过 exec 或 URL 调用命令不会改变可同时运行的脚本数量。服务器可以同时运行的脚本数量取决于它的内存以及许多其他因素。

关于php - 我的服务器可以同时运行多少个 php 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23840750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com