ProcessMaker 4社区版PHP脚本开发调试及资源咨询
ProcessMaker 4社区版PHP脚本任务常见问题解答
1. 调试PHP脚本与访问stdout/stderr
- 直接用
echo输出的stdout无法在ProcessMaker界面直接查看,建议用error_log()把调试信息写入系统日志,日志可在安装目录的storage/logs下找到,也能通过后台「系统日志」模块查看。 - 捕获
stderr可借助PHP错误处理机制,比如用set_error_handler()把错误信息转存到日志或流程变量里。 - 更高效的调试方式是把数据存入流程变量:
脚本执行后,在流程实例的「变量」面板就能查看// 将调试内容写入自定义流程变量 PM::setVariable('debug_info', print_r($your_data, true));debug_info的内容。 - 脚本任务执行完成后,还能在任务详情的「执行日志」里查看基础执行状态和报错信息。
2. 访问请求变量
- 获取用户提交的表单请求参数,用ProcessMaker SDK的请求对象:
// 获取单个请求变量 $requestVar = PM::request()->get('your_form_field_name'); // 获取所有请求变量 $allRequestVars = PM::request()->all(); - 访问流程实例的全局变量,用:
$processVar = PM::getVariable('your_process_variable_name');
3. 访问流程已上传的文件
- 上传的文件由ProcessMaker托管,通过字段名就能获取文件本地路径:
// 获取上传文件的路径 $filePath = PM::getUploadedFile('your_file_upload_field_name'); // 读取文件内容 $fileContent = file_get_contents($filePath); // 复制文件到指定位置 copy($filePath, '/path/to/your/target/file'); - 注意:
your_file_upload_field_name要和流程设计时表单上传控件的名称完全一致。
优质资源推荐
- ProcessMaker官方文档「脚本任务」章节:详细讲解SDK核心方法、脚本执行环境配置。
- ProcessMaker社区论坛:搜索「PHP Script Task」能找到大量开发者分享的实战案例和调试技巧。
- docker-executor-php仓库的examples目录:包含多个可复用的PHP脚本示例,覆盖变量操作、文件处理等场景。
- 官方「Script Task Deep Dive」系列视频:直观演示脚本开发与调试的完整流程。
内容的提问来源于stack exchange,提问作者osantos
相关产品推荐
相关产品推荐

