[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"problem-detail-error-progress-resolved":3},{"stack":4,"error":5,"seoName":6,"seoStack":7,"seo":8,"breadcrumb":10,"titlePrefix":17,"titleAccent":6,"lead":18,"facts":21,"why":36,"log":41,"fix":70,"engine":79,"related":86,"pitch":93},"php","progress-resolved","PHP deploy selected for a Node monorepo; Composer is missing","Php",{"description":9},"Learn what causes PHP deploy selected for a Node monorepo; Composer is missing, how PanelAlpha Engine responds to it during deployment.",[11,14,16],{"label":12,"href":13},"App Installations","\u002Fapps",{"label":7,"href":15},"\u002Fapps\u002Fstacks\u002Fphp",{"label":6},"",[19],{"text":20},"Error recorded 2 times in PanelAlpha Engine deploys on Php. The deploy log below is the recorded failure output.",[22,27,30,32],{"label":23,"value":24,"tone":25,"tooltip":26},"Type","Error","err","An error that occurred in the deployed application. It is not necessarily a PanelAlpha Engine error, but we keep working on improvements so you run into fewer of them.",{"label":28,"value":29},"Seen","2 times",{"label":31,"value":7},"Where",{"label":33,"value":34,"tooltip":35},"Status","Observed","Our team will look into this soon, verify the cause and try to fix it in an upcoming release.",{"heading":37,"body":38},"Why it happens",[39],{"text":40},"The repository was deployed with the PHP (no Composer) strategy, but it is identified as a Node monorepo using package.json and pnpm-lock.yaml. Dependency installation then ran PHP package post-install scripts that require Composer, which is not available in the selected runtime.",{"heading":42,"block":43},"What the log looks like",{"header":44,"lines":45},"Deploy log",[46,50,54,58,62,66],{"segments":47},[48],{"text":49},"...\u002Fnode_modules\u002Ffs-ext-extra-prebuilt install: Prebuilt binary works, skipping compilation.",{"segments":51},[52],{"text":53},"...\u002Fnode_modules\u002Ffs-ext-extra-prebuilt install: Done",{"segments":55},[56],{"text":57},"...\u002Fphp\u002F\u003Caccount>-subscriptions-engine postinstall$ composer install",{"segments":59},[60],{"text":61},"packages\u002Fphp\u002Fblueprint postinstall$ XDEBUG_MODE=off composer install --quiet",{"segments":63},[64],{"text":65},"...\u002Fphp\u002F\u003Caccount>-subscriptions-engine postinstall: sh: 1: composer: not found",{"segments":67},[68],{"text":69},"packages\u002Fphp\u002Fblueprint postinstall: sh: 1: composer: not found",{"heading":71,"steps":72,"block":76},"How to fix it",[73],[74],{"text":75},"Select a Node-compatible deployment strategy, such as the detected Railpack candidate, and redeploy. If PHP deployment is intentional, provide Composer in the build environment and confirm the required Node and PHP build steps are supported. Review the repository’s build and start commands before retrying.",{"header":77,"lines":78},"Fix by hand",[],{"heading":80,"body":81,"block":84},"How PanelAlpha Engine solves it",[82],{"text":83},"Detection should flag the conflict between the selected php-plain strategy and the repository’s Node ecosystem, package.json, pnpm lockfile, and Node runtime requirement. Before running hooks, the Engine could recommend or select the Node-compatible candidate and report missing Composer as the direct failure.",{"header":17,"lines":85},[],{"heading":87,"items":88},"Apps affected",[89],{"title":90,"badge":91,"tone":25,"href":92},"woocommerce-monorepo","2 occurrences","\u002Fapps\u002Fwoocommerce\u002Fwoocommerce",{"heading":94,"body":95,"footNote":96,"docsLabel":97,"docsHref":98},"Try PanelAlpha Engine yourself.","The easiest way to turn your server into a safe, controlled environment for your AI agent. Deploy, manage and maintain any project from Claude Code, Cursor, Codex or any other MCP client. Open source under Apache 2.0, free to run.","Requires Ubuntu 24.04 or 26.04 · 2 GB RAM · 1 CPU","Read the documentation","https:\u002F\u002Fpanelalpha.com\u002Fdocs"]