In this blog post, I will explain what happened after Drupal 8.5.5 was upgraded to Drupal 8.6.15 and what I think so far developing in PHP7.2-fpm or PHP 7.2.
After the upgrade from Drupal 8.5.5 to Drupal 8.6.15, a month later we started having problems on the Server. The problem seemed to be caused by the Drupal Core Session API and the Caching System. The application started caching dynamic data and emitting different behavior. The other problem that came up more often (after Drupal Core updates) were the Caching problems, Drupal 8 caches data on different levels. Drupal in itself is a caching machine, you don't even know what has been cached or not. This makes debugging or implementing new features very hard to verify whether they are working or not.
I do understand that a developer has to disable caching when testing, but when it comes to deploying changes in production that means you have to reset or clear the cache. Clearing the cache sometimes does not help because, if your company uses a CDN to distribute the application, you have to reset the CDN cache as well. In addition, to clearing the cache on the CDN platform, you will have to know if the application uses some Caching third-party application like Meme Cache or Redis. The client's browser might cache application assets as well, as a result, finding out the problem that is preventing the change that has been deployed to reflect can sometimes get out of hand.
- Developing in Drupal 8.5.5 and PHP 7.2 hasn't been as easy as developing in C# and ASP.Net. I found PHP to be a total memory Hogue and developing in Drupal, very unstable.
- Jquery code has to be wrapped in a function to work, even when other blogs emphasize that it is the best practice to wrap jQuery code in a function but there is something called; taking it too far. Why is developing in C# and ASP.Net so easy than developing in PHP and Drupal, because C# and ASP.Net are so forgiving when developing, syntax error highlighting and debuggable.
- Debugging in PHP is not so easy to set up. On the other side, debugging in ASP.Net using Visual Studio does not require you to download plugins and write custom scripts.
- If you plan to host a Drupal 8 application, many application has to come together in order for Drupal Application to work, Mysql Database(easy to set up), PHP7.2-fpm and it's extensions (you will have to do research), Web Server (you will have to do research) and the Caching System(you will have to do research).
- In case of an error, there aren't too many blogs out there with resources to solve your problem.
- Updating the Drupal 8 core files is not a straight forward task, there isn't clear documentation on how to upgrade from a lower version of Drupal to a higher one. If you are embarking on updating the Drupal Core files, just remember every case is different. Take note of the modules you have in the application and if you rely heavily on the Core components API, things might break. Make sure you do your though investigation about upgrading Drupal before you even start.