1

通过命令行与通过 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 问题,请随意将其移到那里)

干杯

4

1 回答 1

3

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

于 2013-01-26T00:22:09.270 回答