You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ProcessMaker容器化环境执行脚本失败:镜像拉取权限被拒

解决ProcessMaker Docker化环境中PHP脚本执行的镜像拉取权限错误

一、排查镜像拉取失败的核心问题

  • 镜像名称/版本错误:你使用的processmaker4/executor-processmaker-php-3:v1.0.0不符合ProcessMaker官方镜像的命名规范,官方PHP执行器镜像通常为processmaker/executor-php格式,需核对pm4core-docker版本对应的官方文档,确认正确的镜像标签。
  • 私有仓库权限限制:若该镜像属于ProcessMaker私有仓库,需先在宿主机登录Docker:
    docker login
    # 若为专属私有仓库,需指定仓库地址
    docker login [你的私有仓库地址]
    
  • 手动拉取镜像验证:尝试手动拉取正确的镜像,确认镜像是否存在:
    docker pull processmaker/executor-php:latest
    # 或选择与你的ProcessMaker版本匹配的镜像标签
    

二、调整ProcessMaker执行器配置

  • 进入ProcessMaker流程设置,检查PHP执行器对应的镜像名称是否与你拉取的一致,修正错误的镜像名配置。
  • 若使用自定义执行器镜像,需在pm4core-docker的docker-compose.yml中提前配置镜像拉取规则,或先在宿主机完成镜像拉取后再使用。

三、优化PHP邮件脚本(避免依赖问题)

你当前使用PHPMailer的脚本在ProcessMaker执行器环境中可能存在依赖缺失问题,提供两种解决方案:

  • 使用ProcessMaker内置邮件功能(更简便):无需额外安装PHPMailer,直接调用内置服务:
    <?php
    $mail = new \ProcessMaker\Core\Mail();
    $mail->setFrom('noreply@demomailtrap.com', 'Mailer');
    $mail->addTo('manager@example.com', 'Manager');
    $mail->setSubject('New leave request');
    $mail->setBody('Hello, you have a new leave request to review', 'text/html');
    $mail->send();
    echo 'Message has been sent';
    ?>
    
  • 坚持使用PHPMailer:需确保执行器镜像中已预装PHPMailer依赖,可将依赖打包进自定义镜像,或在脚本中通过Composer自动加载(前提是执行器环境支持Composer)。

四、验证流程

  1. 手动拉取正确的PHP执行器镜像,确认拉取成功。
  2. 在ProcessMaker中重新配置执行器,选择已拉取的镜像。
  3. 测试脚本执行,检查邮件发送状态及是否仍出现镜像错误。

内容的提问来源于stack exchange,提问作者Incognito

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 19:24:54