【发布时间】:2012-11-03 18:14:09
【问题描述】:
我有一个 Web 应用程序,它使用 php 的本机函数来写入文件,例如fopen(), fwrite() 在进程结束时写入文件后,我通过执行fclose() 关闭文件句柄。
Web 应用程序还在某些地方使用exec() 和shell_exec() 来执行外部程序。
此 Web 应用程序主要部署在 Linux 服务器上。最近在生产服务器上,我们注意到它无法写入文件并抛出此错误的问题:
“打开的文件太多”
所以我的问题是:执行上述操作(文件写入和通过 PHP 执行外部命令)是否可能导致此问题并打开了太多打开的文件,我现在收到此错误?
我确保在打开文件句柄进行写入/读取时,我会关闭它们。
【问题讨论】:
标签: php apache exec fopen shell-exec