看着phpinfo()我发现了很多模块,我不使用,因此他们只是浪费内存。 所以我想删除它们,但问题是,也有大量的'如何在PHP中安装模块X'的信息我找不到任何关于'如何卸载在PHP模块X'。
即使当我试图find并禁用他们在php.ini我没有运气。 例如与bcmath模块的唯一参考在php.ini是
[bcmath] ; Number of decimal digits for all bcmath functions. ; http://php.net/bcmath.scale bcmath.scale = 0
这只是改变一些参数,而不是禁用它。 我发现的一些答案告诉在这里添加函数:
disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
这完全是另一回事。
那么我怎样才能删除(或者在最坏的情况下禁用)php中的很多模块,运行在Apache上。 模块列表是很大的(bcmath,bz2,zip,dba,pdo,ftp,gettext,sopa,simpleXML等等)
如果这些模块是dynamic加载的,那么你可以在php.ini或其他一些configuration文件中find它们。 如果您查看phpinfo结果,您将看到一个名为“扫描该目录以查看其他.ini文件”的参数。 在该文件夹中查找可能正在加载模块的任何其他ini文件。
剩下的所有剩余的模块都被编译成了PHP,所以你需要完全重buildPHP才能摆脱它们。 如果您使用的是RHEL系统,则可以下载SRPM for PHP,编辑spec文件以摆脱这些模块并重buildRPM。