WHMCS插件开发:提交configaddonmods.php表单无法获取POST数据
解决WHMCS AddonConfigSave钩子不触发的问题
按以下步骤排查修复:
钩子文件位置必须正确
钩子代码必须放在WHMCS根目录的includes/hooks/文件夹内,文件名得带.php后缀(比如addon_config_hook.php),放错目录系统不会加载该钩子。换调试方式,别用echo+exit
后台提交表单后会自动跳转,echo和exit的内容根本看不到,改成写入日志文件验证钩子是否触发:add_hook('AddonConfigSave', 1, function($vars) { // 日志写入WHMCS根目录的hook_log.txt文件 file_put_contents(__DIR__ . '/../../hook_log.txt', print_r($vars, true) . PHP_EOL, FILE_APPEND); });保存配置后查看这个日志文件,若有内容说明钩子已触发,日志里会包含POST配置数据和插件名称(
addonname字段)。确认操作的是已激活插件
只有在admin/configaddonmods.php页面保存已激活状态的插件配置时,AddonConfigSave钩子才会触发,禁用状态的插件保存操作不会触发该钩子。核对WHMCS版本兼容性
若使用较旧的WHMCS版本(比如低于7.x),确认官方文档里的钩子名称是否匹配,不过AddonConfigSave在多数新版本中都有效。
如果以上步骤仍未解决,检查钩子文件的服务器读取权限,或者尝试把钩子代码直接放到你开发的插件主文件(比如插件目录下的youraddon.php)中,部分场景下放在插件自身文件也能生效。
内容的提问来源于stack exchange,提问作者mending3
相关产品推荐
相关产品推荐

