Debugging in PHP

PHP is a great language to start with when you are learning how to code. It has a simple syntax, it’s easy to learn and you can make dynamic websites with it. But even though it’s easy to write PHP code, it’s not always easy to debug. There are a lot of tools out there that can help you, but since PHP is an interpreted language, you can also use a couple of debugging techniques to help you find bugs in your code. In this blog post I'll cover the the following sections.


Elastic APM PHP Agent 1.0 released

We are proud to announce the 1.0 release of the Elastic APM PHP Agent! If you are interested in this work, please try the agent and let us know how it works for you and what features you miss! The best way to give feedback and ask questions is in our discussion forum, or if you find an issue or you would like to submit a pull request, jump to our GitHub repository. The agent is Apache-licensed, and we are more than happy to receive contributions from the community!


Monitoring PHP Application Performance: A Step-by-Step Guide

Today we’re here to show you the ropes on PHP monitoring. You’ll learn how to monitor the performance of your PHP applications. But why is doing this valuable in the first place? It used to be common for application performance to be considered a non-functional requirement. Things have changed, though. Nowadays, more and more software professionals have come to think of performance not as a nice-to-have, but as the most important must-have.


Laravel Monolog Handler for Logflare

For our API, we’ve been happily using NewRelic’s monolog enricher for a while, which sends our application logs to NewRelic at the end of each request, making it light and fast for our system not to be bothered by it. Until it stopped working with the upgrade to Composer 2, and they knew about it for several months and still didn’t do a single thing to fix it. So I decided to move to Logflare. Logflare is a fast, light, scalable, and powerful logging aggregator.


What's new? Winter Release 2021

Winter is clearly over here, the sun is shining, which means it is time to sum up everything that is new in the Tideways Winter 2021 release. Aside from this blog post explaining the new features in detail and the documentation, we also invite you to our 30 minute webinar "New Features and Improvements launched in Winter 2021" scheduled for 4th March 2021, 15:00 Europe/Berlin. The webinar will also include an exclusive intro to two brand new features that are launching into Beta next week.


Preventing SQL injections in PHP (and other vulnerabilities)

If you’ve been around web development for a while, you’ve almost certainly heard the term “SQL injection” and some terrifying stories about it. PHP, like many other languages, is not immune to this type of threat, which can be very dangerous indeed. But, luckily, protecting your websites from SQL injection and other similar threats is something you can take tangible steps towards.

oh dear

Making our Laravel test suite ready for parallel testing

To make sure that our service is working correctly, we have a suite of automated tests. The test suite is executed when we make changes and deploy something to production. Using the new parallel testing feature that recently landed in Laravel, we managed to run our testsuite about four times faster. Here is the test output when running all tests sequentially. The time needed is 4m28s. And here's the test output when using parallel testing. It only took 1m05s.


Why we ditched Lumen PHP

Lumen is a stripped down version of the powerful and now very popular Laravel PHP framework, focused on performance and serving stateless requests. I doesn’t have all the bells and whistles of Laravel, but it also doesn’t need them when serving API requests. For example, sessions, cookies and views are not a part of Lumen. It’s not intended for serving websites so everything around that got ditched.