Skip to content

Building PHP dependencies when SSH is unavailable

development

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.

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

  1. 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.

  2. Run application build steps and validate platform requirements. Do not use ignored requirements to produce a package that cannot run on the hosting server.

  3. Package the complete release without local secrets, test databases or public diagnostic files. Retain configuration templates and required generated assets.

  4. Upload through a protected file-transfer method to a separate destination where the platform permits it. Supply production configuration privately.

  5. 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.

Was this answer helpful?

Need a little more help?

Our support team can help you find the next step.

Contact support