嗨,这是一个相当令人尴尬的问题,因为我真的应该知道该怎么做。
我在 ubuntu Jaunty 服务器上安装了 php5,在我看来,其中一些模块是在 php 包中预先编译好的,比如 gettext、hash 等,我安装的任何包,比如 PDO 和 pdo_mysql,我都可以轻松删除,但我希望从服务器中删除 gettext,但我怎么也找不到该怎么做。
在 FreeBSD 上有一个 extension.ini 文件,我可以注释掉扩展名然后就消失了,如果没有扩展名文件,我应该能够将它们从 php.ini 中注释掉,但这两个选项似乎对我在 ubuntu 上没有任何帮助。
任何帮助,将不胜感激。
答案1
/etc/php/php.ini 中定义了一个扩展目录,该目录中包含共享对象,因此请删除或将它们移动到其他位置,这样当 apache 加载 php 模块时,它们将不会被加载
编辑/扩展:在您的 php ini 底部应该有一个包含 /path/*.so,并带有类似“加载所有共享对象”的注释,这证实您的(与编译后的)ubuntu 版本的 php 正在以这种方式加载扩展。
祝你好运,请告诉我们你的进展如何。
答案2
您是否尝试过禁用 php.ini 中的上述功能?
例如
disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
看一下这。