我不认为 mysql触发器是理想的选择。为什么?因为您很可能最终会得到部分逻辑在 php 中、部分逻辑在 mysql 中的情况。坚持使用一种技术是一件好事,因为以后您和您的同事将更容易维护/调试代码。
因此,在您的情况下,如果您希望用户角色的更改立即采取行动,您必须在每个脚本运行时加载用户角色,或者使用数据库中的某个标志注销用户,该标志将表明他的会话不再有效(或者您可以实现自己的session_set_save_handler会话,将会话保存在文件中的某个位置,您可以将其删除以注销用户)。
这取决于您的需求,哪种解决方案更适合您的情况。
因此,这实际上取决于您的需求,选择是注销用户、立即授予他新权限还是等到下次登录更好。