通过命令行和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问题,随意将其移动到那里)
干杯
答案 0 :(得分:3)
从命令行运行时,将应用apache用户的限制。当您点击Web服务器时,将启动启动Web服务器的环境的限制。您可能希望将ulimit
语句添加到启动apache Web服务器的脚本中。