OK, as I finally get the following configurations in order. Note that from previous experience, we need at least a 2GB RAM server to not constantly run out of memory
- tongfamily.com is an add-on domain to richtong.net on InMotion Hosting. Runs PHP 8.3 nicely (they have a nice way to update versions with Cpanel)
- richtong.org this is our newest site, it’s a fresh DigitalOcean build with their WordPress standard Ubuntu 22.04. The main thing is needs is the update to PHP 8.3.
- calvintong.com is the Cloudways DigitalOcean backed site. As I’ve documented pretty hard to manage and pretty slow to administer.
- richtong.com is our oldest site. It is stuck on Ubuntu 20.04 and I can’t upgrade it, but I did get it to PHP 8.3 with the magic of the andrej PPA repositories that let you port different versions of PHP. This is the one closest to retirement. It is not handling Cloudinary properly right now.
Upgrade 22.04 to PHP 8.3 for the system
How to make the PHP 8.3 work is a little complicated, first make sure it is up to date:
sudo apt update && sudo apt upgrade -y
# reboot if needed
[ -f /var/run/reboot-required ] && sudo reboot -f
sudo apt install curl gpg gnupg2 software-properties-common ca-certificates apt-transport-https lsb-release
# look for ondrej/php already installed
apt policy | grep ondrej/pph || sudo add-apt-repository ppa:ondrej/php
sudo apt -y install php8.3
# make sure the wp-cli is also installed
Upgrade Apache to PHP 8.3
Confusingly this only updates the system but WordPress doesn’t change because Apache has its own ideas about PHP version, so you need to install PHP for Apache
a2dismod php8.0
# make sure you have WP Server Stats to figure out the version
# Or look in /etc/apache2/mods.enabled
a2enmod php8.3
# now you need all the helpers
apt install php8.3-common php8.3-mysql php8.3-xml php8.3-xmlrpc php8.3-curl php8.3-gd php8.3-imagick php8.3-cli php8.3-dev php8.3-imap php8.3-mbstring php8.3-opcache php8.3-soap php8.3-zip php8.3-intl
systemctl restart apache2
Miscellaneous notes on restore Error Log Monitor for WP Server Stats needs wp-config.php change
When I did a restore this one thing didn’t work, I needed a log file and wp-config.php update in /var/www/html
where WordPress lives find wp-config.php
//Enable error logging.
@ini_set('log_errors', 'On');
@ini_set('error_log', '/var/www/html/wp-content/elm-error-logs/php-errors.log');
//Don't show errors to site visitors.
@ini_set('display_errors', 'Off');
if ( !defined('WP_DEBUG_DISPLAY') ) {
define('WP_DEBUG_DISPLAY', false);
}
Leave a Reply
Only people in my network can comment.