PHP-FPM Crashing on cPanel Server [Fixed]

php-fpm

A couple of years ago, I switched our cPanel servers to use the more modern FastCGI Process Manager (PHP-FPM). Although requiring slightly more memory than other PHP FastCGI implementations, the appeal is superior performance, scalability, and security. All was great, apart from one teeny, tiny issue… PHP-FPM would periodically and randomly go 100% CPU and …

Read more

How to resolve “Resource temporarily unavailable” error in SSH for cPanel servers

- fork bomb

As we’ve grown, I’ve started seeing some occasional strange errors when trying to SSH or push to GIT repositories on certain user accounts on our cPanel server. Then today, when switching an account to PHP8, the error locked up SSH entirely, and would only go away when I rolled back to PHP7.4 Turns out, the …

Read more

GA4 Ecommerce Purchase Tracking With Google Tag Manager And aMember

- gtm ga4 purchase event

A few years ago, I wrote a blog post showing how to track aMember sales in Google Universal Analytics “Enhanced Ecommerce” using Google Tag Manager. Well, Google Analytics Version 4 (known as GA4) is now out of beta, and I’ve started migrating my aMember sites tracking to use GA4. This article shows a clean install …

Read more

How to properly check for Do Not Track with JavaScript

- donottrack js

Every modern browser has a “Do Not Track” setting (DNT), which tells websites whether the user wants to be tracked or not. It’s been around since about 2011, but it’s been largely ignored until recently, because the definition of “tracking” has been hotly debated. The advent of GDPR has rekindled the idea of DNT, because …

Read more

ClickBank IPN with PHP 7.2 and above

Note: ClickBank have now updated their code samples in line with this article. ClickBank’s Instant Notification Service is a webhook that lets you get transaction notifications in real time. For example, you can use them to inform your membership software when members join/pay/cancel. ClickBank provides the following sample code for PHP: The problem is that …

Read more