Run a PHP debugger

This topic discusses how to run a PHP debugger using Xdebug as an example.

Get started

Click to expand/collapse content
  1. Log in to your local development system, or switch to, the Magento file system owner.
  2. Change to a directory to which the Magento file system owner has write access.
  3. Enter the following command in a terminal to log in to your project:

    magento-cloud login
    
  4. List your projects. With the project ID, you can complete additional commands.

    magento-cloud project:list
    
  5. If necessary, clone the project to your local. You should have cloned when setting up your local development workspace.

    magento-cloud project:get <project ID>
    
  6. Change to a project directory. For example, cd /var/www/html/magento2
  7. List environments in the project. Every environment includes an active Git branch of your code, database, environment variables, configurations, and services.

    magento-cloud environment:list
    

    magento-cloud environment:list displays environment hierarchies whereas git branch displays does not. If you have any nested environments, use magento-cloud environment:list to see the full list.

  8. Fetch origin branches to get the latest code:

    git fetch origin
    
  9. Check out, or switch to, a specific branch and environment. Git commands only checkout the Git branch. The Magento Cloud command also switches to the active environment.

    magento-cloud environment:checkout <environment ID>
    

    To create a new environment, use magento-cloud environment:branch <environment name> <parent environment ID>

  10. Pull any updated code to your local for the environment ID (which is the Git branch):

    git pull origin <environment ID>
    
  11. Create a snapshot of the environment as a backup:

    magento-cloud snapshot:create -e <environment ID>
    

Set up Xdebug

Click to expand/collapse content

To set up Xdebug:

  1. Open .magento.app.yaml in a text editor.
  2. In the runtime section, under extensions, add xdebug.

    An example follows:

    runtime:
       extensions:
          - mcrypt
          - redis
          - xsl
          - json
          - xdebug
    
  3. Save your changes to .magento.app.yaml and exit the text editor.
  4. Add, commit, and push the changes to redeploy the environment:

    git add -A
    git commit -m "Add xdebug"
    git push origin <environment ID>
    
  5. Get the environment’s SSH URL:

    magento-cloud environment:ssh --pipe -e <environment ID>
    
  6. To use Xdebug, SSH to the environment as follows:

    ssh -R <xdebug listen port>:<host>:<xdebug listen port> <SSH URL>
    

    For example,

    ssh -R 9000:localhost:9000 pwga8A0bhuk7o-mybranch@ssh.us.magentosite.cloud