gpt4 book ai didi

php - 使用代码后卸载 Composer 自动加载器

转载 作者:搜寻专家 更新时间:2023-10-31 21:52:06 34 4
gpt4 key购买 nike

所以我正在构建一个工具来提高网站的安全性。该工具在 CMS 启动之前加载,并将扫描请求中有问题的内容(如软防火墙)

问题是——我在 Composer 上使用了一些库来构建这个工具。到目前为止,一切都很好。现在我认为这可能是个坏主意,因为如果 CMS 也调用 Composer Autoload,我们可能会在代码中使用相同库的不同版本(这会产生问题和错误)。

那么有没有办法在我的脚本完成扫描请求后卸载我的 Composer 自动加载?

感谢您的帮助:)

最佳答案

是的,您可以取消注册自动加载功能,如下所示:

$functions = spl_autoload_functions();
foreach($functions as $function) {
spl_autoload_unregister($function);
}

来源:http://php.net/manual/en/function.spl-autoload-unregister.php#112225

但是,这不会给您留下一个干净的状态(这正是您想要的):

  • 您必须取消所有全局变量的设置
  • 有些库可能会定义常量,您无法取消设置和/或修改这些常量 (source)
  • 您在代码中加载的任何类都将在请求的生命周期内保持加载状态,据我所知,没有办法卸载它们 (source)

您最好的选择是将您的代码集成到所述应用程序中(即合并 Composer 文件)并在维护您的应用程序时保持版本同步。

关于php - 使用代码后卸载 Composer 自动加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39892311/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com