Sponsored By: Password Angel - Share passwords, API keys, credentials and more with secure, single-use links.
Was this helpful? Support me via buymeacoffee.com and help me create lots more great content!
Upgrade Issues - Ubuntu 22.04 LTS to Ubuntu 24.04 LTS
Resolving issues with Snap Store, Docker & Dell Linux Assistant post upgrade.
Chris Shennan
Ask Chris Shennan: Why would you want to let your hosting platform dictate your URL structure?
Changing provider may not be viable due to complexity, red tape and convenience
Creating New Symfony Applications with Docker and the Symfony CLI
Use a docker image to create new Symfony applications without installing PHP, composer & Symfony packages on the host.
Fixing: ServiceNotFoundException - service or alias has been removed or inlined when the container was compiled
Fix 'ServiceNotFoundException' in Symfony unit tests by using dependency injection to ensure services aren't removed from the container
Fixing: aws: error: argument --web-identity-token: expected one argument
A working GitLab CI/CD pipeline stopped working as CI_JOB_JWT_V2 had been deprecated in favour of OIDC tokens
The "email" channel is not supported when using Symfony Messenger
When sending a notification, it's wise to add a recipient 🤦♂️
Decorate the Symfony router to add a trailing slash to all URLs
I publish a Symfony application as a static site and need the URL's to include a trailing slash
Using PHP Attributes to Create and Use a Custom Validator in Symfony
Using PHP attributes to define custom validators in Symfony can enhance code readability and leverage modern PHP features.
My RAD (WIP) setup - (no that's not a mistake)
How I'm trying to avoid tech pitfalls, focus on solutions, and streamline development.
Where to start? - With a new project!
Where to start indeed. With this new found energy, where do I focus it first?
Getting my house in order
Navigating through work exhaustion and life's chaos, I'm embracing a balanced perspective, rebooting my approach to side projects, and prioritising meaningful progress over arbitrary deadlines.
Using IPTables to Forward Ports
Fixing: 08: value too great for base (error token is "08")
Explicitly state the base of a number to fix "value too great for base" errors
Fixing: cal: command not found
Install ncal to fix "cal: command not found" errors
10 Essential PHP.ini Tweaks for Improved Web Performance
If you're running a website or web application with PHP, you may have encountered issues with slow loading times, high memory usage, or other performance problems. Fortunately, there are several tweaks you can make to your PHP configuration file (...
HowTo: Check how long a MySQL server has been running
Commands to run in MySQL that will let you know how long your MySQL instance has been running.
Fixing: pecl/xdebug requires PHP (version >= 8.0.0, version <= 8.3.99), installed version is 7.4.33
Resolving issues installing Xdebug on PHP7.4 when the minimum requirements are PHP 8 or later.
Return null or Throw Exception - Best Practice?
Returning `null` is the programmatic equivalent of "It's broken". Use exceptions to give context and allow you to tailor your error handling.
SQS Queue: How many messages have been received?
Using the CloudWatch API and the AWS CLI to get the number of messages received this week by a particular queue
Using Tailwind CSS with Symfony Encore
Configure your Symfony application to use TailwindCSS and create beautiful looking applications using pre-built UI components
Docker Logs - Tail logs and only show new entries
Follow the log entries for a docker container and ignore everything that came before, i.e. tail the log entries from the end of the log file rather than the start.
Password Angel - Share passwords, API keys, credentials and more with secure, single-use links
Password Angel was built to allow passwords, temporary credentials and application secrets to be shared securely in cases where a password manager wouldn't easily be used.
4 steps to improve Laravel + Docker performance issues
Improve the performance of your Laravel + Docker application by checking for DNS issues, installing PHP Opcache, configuring nginx to handle OPTIONS requests & installing docker-sync
Fixing "Authentication plugin 'caching_sha2_password' cannot be loaded" errors
As of MySQL 8.0, `caching_sha2_password` is now the default authentication plugin rather than `mysql_native_password` which was the default in previous versions. This means that clients (Sequel Pro, HeidiSQL etc) that rely on the `mysql_native_pa...
DV, OV, and EV SSL Certificates: Understanding the Differences
Learn the differences between DV, OV, and EV SSL certificates – it's not just about appearances!
How to Remotely Connect to an AWS RDS Instance in a Private Subnet
You have an AWS RDS instance which is on a private subnet and therefore not publicly accessible and you wish to connect to this RDS instance remotely without installing a bastion server or having any public-facing ec2 instances.
What is an SSL certificate and why do I need one?
An SSL (Secure Socket Layer) certificate is a digital certificate used to provide a secure connection between a website and your web browser. Any information sent via this secure connection is only readable by you and the intended website. Does my...
Passing GDPR preferences via the MailChimp API
Create newsletter signup forms and use the MailChimp API to push those contacts into MailChimp along with their selected GDPR preferences (email, direct mail, customized online advertising)
Paywalls — An Insider Point of View
Looking at how to implement different types of paywall
How To: Track Outbound Links
Great! You have got visitors on your website, you can see they viewed several articles, but where did they go next?
Validating Schema.org and Open Graph Tags in your development environment
Validating Schema.org tags, open graph tags and testing how sites like Facebook, Twitter and LinkedIn will treat a link from your site has always been difficult to test in development.
Installing and configuring Symfony2
Getting a Symfony2 project up and running is fairly easy but I did come across a few bumps in the road when I first attempted it so I am hoping to smooth those bumps out a bit for some of you first-timers.
WordPress wp_redirect() shows a blank page
Enable output buffering to stop `wp_redirect()` showing a blank page instead of redirecting to the correct page.
Raw SQL from Doctrine Query Object – Revised
A few months ago I posted an article talking about how to get the raw SQL from a Doctrine Query Object but with the release of Symfony 1.3 and Symfony 1.4 it would appear that the code no longer works. As a result, I’ve updated the code to work w...