我的 Web 应用程序通过 AJAX 对我的 PHP 脚本进行大量 POST 和 GET 调用。我注意到在导出到 PDF/excel、搜索、插入/更新/删除等时调用我的脚本后,我的服务器的内存使用量达到了相当低的水平。
exit()
我的 PHP 脚本都没有以or结尾die()
。这会导致我的记忆问题吗?如果我要在每个脚本的末尾添加exit()
或添加,这会清除该给定脚本刚刚使用的内存吗?die()
我的 Web 应用程序通过 AJAX 对我的 PHP 脚本进行大量 POST 和 GET 调用。我注意到在导出到 PDF/excel、搜索、插入/更新/删除等时调用我的脚本后,我的服务器的内存使用量达到了相当低的水平。
exit()
我的 PHP 脚本都没有以or结尾die()
。这会导致我的记忆问题吗?如果我要在每个脚本的末尾添加exit()
或添加,这会清除该给定脚本刚刚使用的内存吗?die()
exit
并且die
与到达文件末尾基本相同。运行析构ob_start
函数,刷新并结束关卡,运行任何关闭函数。
然而,在任何 PHP 进程结束时,该进程就像任何其他程序一样结束。没有留下任何记忆。
这不是 PHP 问题,它是 Apache 功能。
当 apache 启动一个新进程来处理您的请求时,它不会在处理完您的请求后立即释放其资源,而是对任何可能的未来请求保持可用。
如果您使用“top”命令,您将看到多个 apache 进程正在运行。
在这里阅读:http ://abdussamad.com/archives/169-Apache-optimization:-KeepAlive-On-or-Off.html
我不认为exit()
或die()
不会有任何区别。
请确保您释放数据库资源(结果集、连接等)。此外,请考虑您使用的所有扩展,并确保它们都没有已知的内存泄漏错误,尤其是在您使用外来扩展时。
如果您在 Linux 上并且即使“可用内存”为“低”,您的服务器也没有在磁盘上进行交换,这可能是由于磁盘缓存。在这种情况下,一切都很好。请参阅:linuxatemyram.com。
顺便说一句,您从哪里获得有关可用内存的信息?