LNMP会出现内存泄漏吗?
首先:什么是LNMP
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。目前一键包中包含的数据库是MariaDB。
包含:Nginx/MariaDB/PHP三大组件。还有类似eAccelerator、xcache、memcached、imageMagick、ionCube、redis、opcache等扩展组件。
nginx、MariaDB、php是比较成熟的产品,使用长期支持版本上基本上会杜绝内存泄漏问题。但是PHP属于高级语言,语言级别并没有内存的概念,在使用过程中完全不需要主动申请或释放内存, 所以在PHP用户代码级别也就不存在内存泄漏的概念了。但毕竟PHP是使用C编写的解释器,而C语言的程序是可能出现内存泄漏问题,所以本质上还是一样的。如果你的PHP程序内存泄漏了,会有三种可能:
1、可能是自己的代码有问题,比如没有及时释放大内存的变量等。2、很多公司都会有自己的PHP扩展,而扩展通常也使用C/C++来编写,这样扩展本身也可能会因为内存不正确释放而导致内存泄漏。3、有些扩展是对第三方库的一种包裹, 比如PHP的sqlite数据库操作接口主要是在libsqlite之上进行了封装,所以如果 libsqlite本身有内存泄漏的话,那也可能会带来问题。
扩展组件eAccelerator、xcache、memcached、imageMagick、ionCube、redis、opcache等也有可能存在内存泄漏问题。
经常关注安全网站如:
国家信息安全漏洞共享平台:https://www.cnvd.org.cn/
CVE:http://cve.scap.org.cn/
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有