Drupal and some contrib modules (but not many, actually).DDEV (The containerising system Docker-based for PHP projects).PHPStorm (Well, or you opensourcered IDE).Xdebug (the classical extension for PHP for debugging).Just a quick recipe for the tools needed to build the test environment. In this article I would like to offer a simple scheme to prepare the configuration of a sufficient test environment to test REST to Drupal connections. This article is part of a series of posts about Drupal Tips.ġ- Drupal Fast Tips (I) - Using links in Drupal 8Ģ- Drupal Fast Tips (II) - Prefilling fields in formsģ- Drupal Fast Tips (III) - The Magic of ‘#attached’Ĥ- Drupal Fast Tips (IV) - Xdebug, DDEV and Postmanĥ- Drupal Fast Tips (V) - Placing a block by codeĦ- Drupal Fast Tips (VI) - From Arrays to HTMLħ- Drupal Fast Tips (VII) - Link Fields from Twig This will be an article about configurations for testing REST queries from Postman while debugging requests from the Drupal side connecting Xdebug between PHPStorm and DDEV. So “remodeling” at that level the work stack has made me want to take some notes, for the joy of using something as easy as DDEV for the development in a local environment. It has been a long time since I debugged REST and in this time, I have gone from using Drupal in a custom LAMP / Docker environment to working only and exclusively with DDEV based Drupal environments. You’ll have to open that tunnel every time you need to debug remotely to that server.Picture from Unsplash, user Timothy Dykes, Friday I had to perform several code debugging to review several use cases based on the interconnections between a data bus and a Drupal installation. Now your machine will be treated as localhost, and communication can happen without issues. Since you have SSH access to the server, you can create a tunneling protocol ssh -R 9000:localhost:9000 _server_host Because the server would try to reach your IP using the port 9000, and chances that your ISP has that port open are low. Then why did we configured it that way? Xdebug has the option to remote debugging, you could set your IP address there and voila! No, you couldn’t, at least not so easy. If you try to debug your application now, using the browser extension you’ll send a flag to the server and it’ll run Xdebug, tehn it’ll try to communicate with the address you configured in xdebug.remote_host, but it won’t make it since we configured it as localhost. Now, you’ll need a browser extension that helps you trigger the debugger (I use Xdebug helper for Chrome). Go to Preferences -> Languages & frameworks -> PHP -> Serversīelow, (I’m assuming you have the project code in your machine, we said you can’t run it locally, but you’ll still need the code) map the folders (paths) of the code in your local machine and the server. Go to Preferences -> Languages & frameworks -> PHP -> Debug Xdebug.remote_log=/var/log/apache2/xdebug.logĪs I said, I’m using PHPStorm, but any IDE configuration should be similar. conf file inside your conf.d folder, it depends on the server’s OS) xdebug.remote_enable=1 The Xdebug configuration goes in the php.ini file (or in a specific. SSH to the remote server and install Xdebug sudo apt-get install php5-xdebug (Debian based servers) Configure Xdebug An IDE in your machine (I use PHPStorm).I won’t go trough the basics on how to use the debugger or about the magic behind the debug session (plenty of blog posts on this already). So you’re back already, huh? I know why, because I too spent hours searching for documentation, blog posts, forums and some helped, but I couldn’t find a single one with all the information, so since I already did the research, here is all the info to save you and everyone else the trouble. Right? Sure, go do it and I’ll wait here while you figure it out. Okay so you know what to do, right? Just install Xdebug in the server, set up your IDE and let the magic happen. You’ve got SSH access to the testing server.You need to check an issue in a PHP web application.Who in their right mind would want to develop using a remote server when you have Docker and all that other useful stuff? But, trust me, if you come into this unfortunate situation, you’ll be sending me all your love (or a beer, which is almost the same thing).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |