Documentation moved

We introduced Quickstarts as a new place for examples of how to use your favourite language and framework on Gitpod. Remember though, even if you can't find your use case as a quickstart, Gitpod very likely still supports your programming language as it's simply a Ubuntu-based operating system in the cloud. Visit the quickstarts

PHP in Gitpod

Gitpod supports PHP right out of the box, but more advanced features such as debugging can be configured, so here is how to do it!

Example Repositories

Repository Description Try it
symfony-demo A PHP/Symfony reference application following best practices Open in Gitpod
magento2gitpod Magento 2 optimized setup for Gitpod: Nginx, MySQL, PHP 7.2, PHP-FPM and more Open in Gitpod
koel A personal music streaming server that works Open in Gitpod
drupal Drupal 9 with MySQL, suitable for site building and contrib module development Open in Gitpod
phpmyadmin A phpMyAdmin example with Node.js, a REST API and MySQL for data persistence Open in Gitpod

Debugging PHP in Gitpod

PHP debugging example

The PHP Debug extension allows debugging PHP applications from within Gitpod.

To get this extension for your project, you must do two things:

First, you must create a .gitpod.Dockerfile for your repository:

FROM gitpod/workspace-full

RUN sudo apt-get update && sudo apt-get install php-xdebug -y

Second, reference the above Dockerfile in a .gitpod.yml file, and then also install the extension, like so:

image:
  file: .gitpod.Dockerfile

vscode:
  extensions:
    - felixfbecker.php-debug

Head over to Run and Debug on the left hand side and have fun debugging PHP! You can also create a launch.json file.

Finally, here is a full example repository containing the complete Gitpod PHP debug configuration described above. You can try it by clicking here:

Open in Gitpod

PECL Package Manager

Gitpod’s default workspace image also comes with the PECL package manager pre-installed. To install packages with it, you must use sudo pecl install <EXTENSION> in your repository’s .gitpod.Dockerfile, e.g. like so:

FROM gitpod/workspace-full

RUN sudo pecl channel-update pecl.php.net &&     sudo pecl install <EXTENSION>

where <EXTENSION> is the PHP extension you want to install, e.g. xdebug.

Further Reading

Was this helpful?