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

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

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

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

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 the mcrypt libraries – required to decrypt the notification – were abandoned back … Read more