(❓) Easy Engine X PHP 7.1

This is complicated!

Because there are many plugins that are not compatible with most up-to-date versions of PHP.

And some developers do not care much about updating their plugins with new versions of PHP. :cold_sweat:

I’m having a problem with a plugin I use which now only works with PHP 7.1 while the others only work with 5 or 7.

I had to make the decision not to use it for now.

I was even thinking about using SquirrlySEO instead of YoastSEO, but after you gave me this news I will not do it. :sob:

WordPress’s ridiculous obsession with backwards compatibility and insistence on continuing to support PHP 5.2 is the cause of all this (security support for 5.6 ends in December for goodness sake, as it does for 7.0). 7.2 is now the minimum recommended version, but it’s just that, a recommendation.

I was quietly hoping the minor furore surrounding Gutenberg might force a “soft fork” of WP - version 5.0 would embrace modern PHP/JS development with a requirement of at least version 7.2 while WP 4.9 would receive maintenance, security updates only (good blog post about that here). I don’t see it happening though.

Personally, I’ve gone all-in on 7.2 (I even removed 5.6, 7.0 and 7.1 from my production server yesterday). I’m the benevolent dictator of my servers - if a client’s site requires a plugin that doesn’t function properly with 7.2, I’ll find them one that does.

@mrmad/@fbsena - I switched to using The SEO Framework a while ago - simpler and just as effective.

2 Likes

I found the problem : One extension for php 7.1 and php 7.2 was missing causing the problem.

sudo aptitude install php7.1-xml php7.2-xml

And by the way: Please remember to copy php.ini from /etc/php/7.0/fpm to /etc/php/7.1/fpm or /etc/php/7.2/fpm , especially if you made some changes like max upload size, memory limit etc…

it will be nice to have a tutorial for 7.2 :slight_smile: Hope you`ll make it soon :slight_smile:

My tutorial is already available :

1 Like

actually, i think that should work with debian, too, isn’t it?

Yes, on debian you just have to add deb sury repository to install php7.1/7.2 :

apt-get install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt-get update

now is working. i have another issue… i`ve updated to php 7.2 to have TLS 1.3 but when I activate it… i recieve this error 12:00:12 aruba nginx[4250]: nginx: [warn] invalid value “TLSv1.3” in /etc/nginx/nginx.conf:46 Feb 05 12:00:12 aruba systemd[1]: nginx.service: control process exited, code=exited status=1 Feb 05 12:00:12 aruba systemd[1]: Reload failed for A high performance web server and a reverse proxy server. – Subject: Unit nginx.service has finished reloading its configuration

php7.2 isn’t needed to use TLS 1.3. You have to compile nginx with the openssl draft release.

You can use my bash script to install it :

1 Like

thanks, worked too :slight_smile:

i found an issue.

The following packages have been kept back: nginx-common

i tried with ee slack update and ee slack install

didn’t helped :frowning:

Use the command :

apt-mark unhold nginx-common 

But remove the dotdeb.org repository from your source.list.d folder

Thanks it worked :slight_smile:

I suggest before attempting to update, back up your WordPress image so if you do experience issues while updating to php 7.1 or 7.2 you can always roll back to a working image. then you can take your yourwebsite.com.error.log to find your issues and go from there. :slight_smile:

Your WordPress content isn’t impacted when you replace php7.0 by php7.1 or 7.2. It require only to edit nginx configuration and it’s pretty easy to rollback to php7.0 in case of failure.

It thru a nginx error so it wouldn’t connect to mywebsite.com, so i pulled mywebsite.com.error.log rolled it to my backup image, found the issues. And used your tutorial to fixed it. Thank you.

When you test PHP 7.2 config files like redis-php72.conf or php72.config you get errors like

Command:

nginx -t -c /etc/nginx/common/php72.conf or nginx -t -c /etc/nginx/common/redis-php72.conf

nginx: [emerg] “location” directive is not allowed here in /etc/nginx/common/php72.conf:3 nginx: configuration file /etc/nginx/common/php72.conf test failed

nginx: [emerg] “set” directive is not allowed here in /etc/nginx/common/redis-php72.conf:3 nginx: configuration file /etc/nginx/common/redis-php72.conf test failed

You should not test individual files like this. The results can’t be trusted.

These .conf are meant to be included in the virtual host configuration file, in their proper location.

Just run nginx -t (without further parameters) after setting up your sites, and you’ll be good to go if no errors are displayed.

1 Like

I thought that too, thanks for clarifying.