<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Raj KB</title>
    <description>The latest articles on DEV Community by Raj KB (@magepsycho).</description>
    <link>https://dev.to/magepsycho</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F33436%2F083a5e71-b1a1-4a99-a120-df5a1d303967.jpg</url>
      <title>DEV Community: Raj KB</title>
      <link>https://dev.to/magepsycho</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/magepsycho"/>
    <language>en</language>
    <item>
      <title>How to Install Multiple Versions of PHP on Ubuntu?</title>
      <dc:creator>Raj KB</dc:creator>
      <pubDate>Fri, 18 Jun 2021 08:00:55 +0000</pubDate>
      <link>https://dev.to/magepsycho/how-to-install-multiple-versions-of-php-on-ubuntu-309m</link>
      <guid>https://dev.to/magepsycho/how-to-install-multiple-versions-of-php-on-ubuntu-309m</guid>
      <description>&lt;p&gt;There are many tools like Docker, Vagrant, VirtualBox, etc. that gives you the power to achieve the multiple versions of PHP in your system. But I want to stay away as much as possible from third-party tools and try to leverage the native as much as I can.&lt;/p&gt;

&lt;p&gt;So want to learn how to install multiple versions of PHP on the Ubuntu system? Okay, that’s great.&lt;/p&gt;

&lt;p&gt;Let’s assume, you have&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OS: Ubuntu 16.04&lt;/li&gt;
&lt;li&gt;PHP: 7.1 (PHP-FPM)&lt;/li&gt;
&lt;li&gt;Nginx: 1.10&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And want to install &lt;code&gt;PHP 7.2&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install PHP 7.2
&lt;/h2&gt;

&lt;p&gt;Run the following commands to update the PHP repository &amp;amp; the Ubuntu system&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;software-properties-common
&lt;span class="nb"&gt;sudo &lt;/span&gt;add-apt-repository ppa:ondrej/php
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you are able to install the new version of PHP&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; php7.2-fpm
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; php7.2-dev
php &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If &lt;code&gt;php -v&lt;/code&gt; still pointing to the old PHP version, then run the following command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;update-alternatives &lt;span class="nt"&gt;--set&lt;/span&gt; php /usr/bin/php7.2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Install PHP 7.2 Modules
&lt;/h2&gt;

&lt;p&gt;You may need some additional PHP modules in order for PHP to work with your applications.&lt;br&gt;
You can install the most commonly needed modules especially required for Magento 2 with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;php7.2-mysql php7.2-bcmath php7.2-curl php7.2-xml php7.2-gd php7.2-intl php7.2-mcrypt php7.2-mbstring php7.2-soap php7.2-zip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To check installed PHP modules:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php &lt;span class="nt"&gt;-m&lt;/span&gt; | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-E&lt;/span&gt; &lt;span class="s1"&gt;'bcmath|ctype|curl|dom|gd|hash|iconv|intl|json|mbstring|mcrypt|openssl|pdo|soap|spl|xml|xsl|zip'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To search the PHP module:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-cache search php7.2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, you have a new PHP 7.2 version and required modules installed. Similarly, you can install PHP 7.3, 7.4, 8.0 &amp;amp; so on and it’s related modules.&lt;/p&gt;

&lt;p&gt;Now a big question is: &lt;strong&gt;How to use a specific PHP version as per application?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before that, we should know how PHP is used.&lt;br&gt;
PHP can be used as a CLI or web server module (mod_php, CGI, FPM).&lt;/p&gt;
&lt;h2&gt;
  
  
  Switching PHP CLI Version
&lt;/h2&gt;

&lt;p&gt;PHP’s &lt;code&gt;php&lt;/code&gt; command is linked to &lt;code&gt;/usr/bin/php&lt;/code&gt;, which is symlinked to &lt;code&gt;/etc/alternatives/php&lt;/code&gt;, which again is symlinked to actual PHP, example &lt;code&gt;/usr/bin/php7.2&lt;/code&gt;.&lt;br&gt;
So here lies the logic of switching PHP CLI versions.&lt;/p&gt;

&lt;p&gt;By default, the PHP installation changes the CLI version to the new one.&lt;br&gt;
In case if you want to switch to a specific version, say PHP 7.2, you can use the &lt;code&gt;update-alternatives&lt;/code&gt; command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;update-alternatives &lt;span class="nt"&gt;--set&lt;/span&gt; php /usr/bin/php7.2
php &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can find the list of PHP executables with&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ll /usr/bin | &lt;span class="nb"&gt;grep &lt;/span&gt;php
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;You might need to run &lt;code&gt;update-alternatives&lt;/code&gt; to set the required PHP version if you are running &lt;code&gt;composer&lt;/code&gt; commands or any CLI PHP script.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Switching PHP Web Server Version
&lt;/h2&gt;

&lt;p&gt;As you probably know, Nginx runs PHP code via PHP-FPM, which listens on a Unix socket.&lt;br&gt;
And that makes it easier to switch the PHP version in the Nginx’s server block.&lt;/p&gt;

&lt;p&gt;If you want to point any application, say Magento 2 running on Nginx with PHP 7.2, you can simply change the value of &lt;code&gt;fastcgi_pass&lt;/code&gt; directive as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fastcgi_pass unix:/run/php/php7.2-fpm.sock
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To find the list of Unix sockets for PHP-FPM&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ll /run/php | &lt;span class="nb"&gt;grep &lt;/span&gt;sock
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In order to verify the PHP version for Web SAPI, you can use &lt;code&gt;phpinfo()&lt;/code&gt; in your .php file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Some people might want to use Docker, Vagrant based solution for this. It’s Okay.&lt;/p&gt;

&lt;p&gt;For me, I always prefer a native system without depending on third-party solutions. This minimizes the overhead and latency problem and hence makes the application development easier and faster.&lt;/p&gt;

&lt;p&gt;Above you read, how easily you can change the PHP CLI and Web SAPI version. For CLI based you might have to run the &lt;code&gt;update-alternatives&lt;/code&gt; command on demand. But for Web application, once the required PHP version is set, they will work independently on specific PHP versions.&lt;/p&gt;

&lt;p&gt;Please comment below if you have any better solution for handling multiple PHP versions.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>php</category>
      <category>nginx</category>
    </item>
    <item>
      <title>Tinker with your local/remote PHP (Laravel, Magento) Code</title>
      <dc:creator>Raj KB</dc:creator>
      <pubDate>Thu, 17 Jun 2021 21:08:46 +0000</pubDate>
      <link>https://dev.to/magepsycho/tinker-with-your-local-remote-php-laravel-magento-code-3g2j</link>
      <guid>https://dev.to/magepsycho/tinker-with-your-local-remote-php-laravel-magento-code-3g2j</guid>
      <description>&lt;p&gt;I was always looking for a &lt;a href="https://blog.magepsycho.com/sandbox-script-quick-testing-magento2/"&gt;quick playground for testing/debugging&lt;/a&gt; any PHP application esp. for Magento 2.&lt;/p&gt;

&lt;p&gt;Luckily, I got to know about Tinkerwell App in some twitter feed and thought of giving a try.&lt;br&gt;
&lt;/p&gt;
&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cvJ4HM4B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/ESHFe04W4AE6UDA.jpg" alt="unknown tweet media content"&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--9JcreN2W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1143596522417922048/N9RDUIty_normal.png" alt="Michiel Gerritsen profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Michiel Gerritsen
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/mbdgerritsen"&gt;@mbdgerritsen&lt;/a&gt;

      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      .@tinkerwellapp + Magento 2 is a great combo. It allows me to SSH into the server and execute code on the real order object for example. In this case, i was debugging why a credit memo couldn't get created for this order. 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      14:28 PM - 02 Mar 2020
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1234485852463603712" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1234485852463603712" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1234485852463603712" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;If you don’t know about Tinerwell app&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Tinkerwell is the magical code editor that runs your code within local and remote PHP applications. In other words, it’s a RELP(read-eval-print loop) for PHP.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Though there are some tools like:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PHP’s interactive mode in CLI (&lt;code&gt;php -a&lt;/code&gt;),&lt;/li&gt;
&lt;li&gt;&lt;a href="https://psysh.org/"&gt;psysh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;n98-magerun’s &lt;a href="https://n98-magerun.readthedocs.io/en/latest/commands/dev.html#dev-console"&gt;dev:console&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But the main advantage of the Tinkerwell app over others is that it can tinker locally and also remotely(via SSH). &lt;br&gt;
Also, it has official IDE plugins so that you can run code directly from your favorite code editor(VSCode, Sublime Text 3 and PhpStorm).&lt;/p&gt;
&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;Tinkerwell is a commercial app that only costs around 15 USD and really worth it.&lt;/p&gt;

&lt;p&gt;After purchasing, you will get an email with a link to download the app along with the license key.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WMJJnEE1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sd7fpx0ued40npsrbh6t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WMJJnEE1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sd7fpx0ued40npsrbh6t.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After downloading you can simply install the installer file and configure the License Key, so nothing fancy about it.&lt;/p&gt;
&lt;h2&gt;
  
  
  Configuring for Magento 2
&lt;/h2&gt;

&lt;p&gt;Currently(as the time of writing), the major PHP applications supported by Tinkerwell app are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Magento 2&lt;/li&gt;
&lt;li&gt;Laravel&lt;/li&gt;
&lt;li&gt;Symfony&lt;/li&gt;
&lt;li&gt;WordPress&lt;/li&gt;
&lt;li&gt;Drupal&lt;/li&gt;
&lt;li&gt;Typo3&lt;/li&gt;
&lt;li&gt;Prestashop&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The full list can be found at – &lt;a href="https://github.com/tinkerwellapp/drivers"&gt;https://github.com/tinkerwellapp/drivers&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Tinkerwell “drivers” determine how the application should be bootstrapped – and can even provide variables that should be available automatically.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Since Magento 2 is supported by default, you just need to set the working directory in local or remote.&lt;/p&gt;
&lt;h3&gt;
  
  
  Tinkering with Magento 2 Locally
&lt;/h3&gt;

&lt;p&gt;Open the app and click on the folder icon (1) and set your local Magento 2 working directory(2). That’s it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Nokam_Mc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z2ml930vv6s2mu1qq6oh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Nokam_Mc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z2ml930vv6s2mu1qq6oh.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, you can run/debug any Magento 2 code (core &amp;amp; custom) with the realtime preview on the right pane. For example, it may look like&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IU9WunMk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8vsfpf1rzq2axmhat41s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IU9WunMk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8vsfpf1rzq2axmhat41s.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;
Running code with Tinkerwell

  

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2o2MR4sw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mtjw3bb1x9z02755so6z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2o2MR4sw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mtjw3bb1x9z02755so6z.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;
Running selected code in PHPStorm with Tinkerwell



&lt;p&gt;&lt;em&gt;&lt;code&gt;$objectManager&lt;/code&gt; variable is available by default (via Magento 2 driver)&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Troubleshooting
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; If you are getting an error&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Zend_Db_Adapter_Exception with message ‘SQLSTATE[HY000] [2002] No such file or directory’&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; Just replace ‘localhost’ by the IP address(127.0.0.1) for DB host in the file &lt;code&gt;app/etc/env.php&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Tinkering with Magento 2 Remotely (via SSH)
&lt;/h3&gt;

&lt;p&gt;For remote interactive debugging, you can connect via Action (1) &amp;gt; Connect Via SSH. You will see a similar popup as below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BJIVu_mS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9jglei5iuak5txscz1z2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BJIVu_mS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9jglei5iuak5txscz1z2.png" alt="image"&gt;&lt;/a&gt;&lt;br&gt;
Just fill-up the SSH login details and connect(2). Now you are able to able to run the code in remote. &lt;/p&gt;
&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Though there are some alternatives, Tinkerwell works quite well locally and remotely for testing out any PHP code (not only limited to Laravel, Magento 2 or other PHP frameworks).&lt;br&gt;
It’s really quite helpful in quick testing/debugging any PHP code and saves a lot of time.&lt;/p&gt;

&lt;p&gt;You might be interested in following Twitter discussion:&lt;br&gt;
&lt;/p&gt;
&lt;blockquote class="ltag__twitter-tweet"&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--SHR5eLc4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1225749538960531457/CRecYzGx_normal.jpg" alt="🛒 Magento 2 Extensions 🚀 profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        🛒 Magento 2 Extensions 🚀
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/magepsycho"&gt;@magepsycho&lt;/a&gt;

      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Question: How do you debug smartly in M2 production server?&lt;br&gt;&lt;br&gt;Please share your views!&lt;br&gt;&lt;br&gt;@magento &lt;a href="https://twitter.com/MageOverflow"&gt;@MageOverflow&lt;/a&gt; &lt;a href="https://twitter.com/Magento"&gt;@Magento&lt;/a&gt;MP &lt;br&gt;&lt;br&gt;&lt;a href="https://twitter.com/max_pronko"&gt;@max_pronko&lt;/a&gt; &lt;a class="mentioned-user" href="https://dev.to/markshust"&gt;@markshust&lt;/a&gt;
 &lt;a href="https://twitter.com/mrloo"&gt;@mrloo&lt;/a&gt; &lt;a href="https://twitter.com/VinaiKopp"&gt;@VinaiKopp&lt;/a&gt; &lt;a href="https://twitter.com/LBajsarowicz"&gt;@LBajsarowicz&lt;/a&gt; &lt;a href="https://twitter.com/PeterJaap"&gt;@PeterJaap&lt;/a&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      04:42 AM - 14 Apr 2020
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1249921026063872001" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1249921026063872001" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1249921026063872001" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


</description>
      <category>php</category>
      <category>magento</category>
      <category>laravel</category>
      <category>tinkerwell</category>
    </item>
  </channel>
</rss>
