Originally published November 23, 2019 @ 11:24 am
This is mostly just a note to self. As I mentioned previously (probably more than once), I very much dislike systemd and will stick with CentOS 6 for as long as possible. Having said that, WordPress dashboard has been nagging me about having to update PHP. So here we go.
I had PHP 5.6w from webtatic repo and now I need to install version 7.1u from the iuscommunity.org repo. The first step, as I’ve learned, should’ve been updating all the WordPress plugins, especially if you haven’t done that in a while. This is what I did for PHP version update:
# your current PHP version
php --version | grep -oP "(?<=^PHP )[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}(?= \(c)"
# as root
cd
/bin/cp -p /etc/php.ini /etc/php.ini_56w
/bin/cp -p /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf_56w
yum list installed | grep -i webtatic > installed_php_webtatic.txt
yum -y remove webtatic-release
yum -y install https://centos6.iuscommunity.org/ius-release.rpm
yum -y remove php56w*
yum -y install $(grep ^php installed_php_webtatic.txt | awk -F. '{print $1}' | sed 's/php56w/php71u/g' | xargs)
yum -y install php71u-mysql* php71u-json php71u-fpm pear1u
/bin/cp -pf /etc/php.ini_56w /etc/php.ini
/bin/cp -pf /etc/php-fpm.d/www.conf_56w /etc/php-fpm.d/www.conf
chkconfig php-fpm on
service php-fpm restart
php -v
service httpd restart
And that did it. It also broke one my older WordPress sites: the `mysql_get_server_info` function has been removed from PHP 7 for security reasons. You can find the plugins that may use this function like so:
# cd ${your_website_home}/wp-content/plugins] && ack "mysql_get_server_info\(\)"
wp-table-reloaded/views/view-about.php
101: <br/>· mySQL (Server): <?php echo mysql_get_server_info(); ?>
wptouch-pro/admin/html/settings/sysinfo.php
9: <td><?php echo $_SERVER['SERVER_SOFTWARE']; ?>, <?php echo $_SERVER['GATEWAY_INTERFACE']; ?>, PHP <?php echo phpversion(); ?>, <?php $link = mysql_connect( DB_HOST, DB_USER, DB_PASSWORD ); if ( !$link ) { die( 'Could not connect: ' . mysql_error() ); } printf( "MySQL %s", mysql_get_server_info() ) ;?></td>
tablepress/views/view-about.php
186: <br />· mySQL (Server): <?php echo $mysqli ? mysqli_get_server_info( $GLOBALS['wpdb']->dbh ) : mysql_get_server_info(); ?>
advanced-category-excluder/advanced-category-excluder.php
128: $sql_version = substr(mysql_get_server_info(),0,3);
Go through the list, rename the plugin folder, see if that restored access to the site. If not, rename it back and continue until you find the culprit.

Experienced Unix/Linux System Administrator with 20-year background in Systems Analysis, Problem Resolution and Engineering Application Support in a large distributed Unix and Windows server environment. Strong problem determination skills. Good knowledge of networking, remote diagnostic techniques, firewalls and network security. Extensive experience with engineering application and database servers, high-availability systems, high-performance computing clusters, and process automation.
























