Linux允许开放文件限制因CGI和CLI而异

时间:2013-01-26 00:17:37

标签: php linux apache cgi

通过命令行和apache运行脚本时,我的打开文件限制出现问题。

我的apache服务器在用户“apache”下运行,并在/etc/security/limits.conf文件中覆盖了其限制,如下所示:

apache soft nofile 10240
apache hard nofile 40960

我有一个用于测试的简单脚本:

<?php
system('whoami');
system('ulimit -a | grep open');

当我通过浏览器点击此脚本时,我得到:

apache
open files                      (-n) 1024

但是当我在用户apache下的命令行中运行它时,我得到:

[reza@app pdf]$ sudo -u apache php script.php
apache
open files                      (-n) 10240

有人可以向我解释会导致这种差异的原因吗?

(不确定这是否是ServerFault问题,随意将其移动到那里)

干杯

1 个答案:

答案 0 :(得分:3)

从命令行运行时,将应用apache用户的限制。当您点击Web服务器时,将启动启动Web服务器的环境的限制。您可能希望将ulimit语句添加到启动apache Web服务器的脚本中。