A hosting account without SSH may still run a Composer-based application if a complete compatible release is built elsewhere and uploaded through an approved file-transfer method.
IN THIS ARTICLE
Check access and requirements
Confirm the web PHP version, required extensions, document-root control and any application commands needed after deployment. Some applications need capabilities the plan does not provide.
01 Build PHP dependencies when SSH is unavailable
Build in a trusted environment matching the target PHP requirements as closely as practical. Install the reviewed lock file and include the resulting vendor directory.
Run application build steps and validate platform requirements. Do not use ignored requirements to produce a package that cannot run on the hosting server.
Package the complete release without local secrets, test databases or public diagnostic files. Retain configuration templates and required generated assets.
Upload through a protected file-transfer method to a separate destination where the platform permits it. Supply production configuration privately.
Complete necessary migrations or cache preparation through an approved panel task or supported assistance. Do not add an unrestricted public command runner to replace SSH.
02 Example: compare the build environment with the target account
Before uploading an offline Composer build, keep a small deployment checklist using the real values from the hosting panel and project requirements.
| Capability | What must match or be supported |
|---|---|
| PHP and extensions | The hosting web runtime must satisfy the installed packages, even if the build machine passes its own checks. |
| Release files | Application code, the matching vendor directory and required generated assets are included. |
| Public root | The domain can expose only the intended public entry directory. |
| Post-deployment work | Migrations, cache preparation and workers have an approved execution path. |
If the application requires a persistent queue worker and the account cannot run one, a complete ZIP upload does not solve that dependency. Confirm a supported deployment method or environment before moving live data.
Confirm the expected result
Test application startup, autoloading and an important database workflow. Confirm the uploaded package contains the same dependency versions that were validated.
Resolve setup problems
If deployment requires a persistent worker or unavailable CLI operation, confirm another supported method or choose a more suitable plan. A successful file upload does not supply missing runtime capabilities.
A common question
Should I upload only composer.json and let PHP download the packages?
Ordinary web requests do not automatically perform a safe production dependency install. Deliver the prepared dependencies or use an explicitly supported deployment integration.