Okay I've installed the old version on my local test environment, and I'm sad to say that the same issue is occurring for me. The conditionals seem to be breaking down in this filter. I've tried 3 different versions of PHP:
5.4.45 - White screen of death, no logs
5.6.31 - White screen of death, no logs
7.0.22 - Shortcodes written out on page
Do you still have access to the old host? If so, we can try to compare PHP configurations between the two servers, and we can try to reinstall this clone and see how it goes.
Yes, we still have access to the old server. It is still up and running. What is the best way to compare PHP configurations between the two servers? Let me know what information you need and I'll be happy to provide it.
We can start with phpinfo() from both servers. Most popular host platforms provide access to this information in your control panel. If you're not able to find it, you can create a new PHP file called phpinfo.php that includes the code:
[php]
<?php
phpinfo();
?>
[php]
Upload that file to your server and then load it directly in the browser like youroldsite.com/phpinfo.php, then save that HTML page somewhere on your desktop. Do the same on the new server, then compare the two results.
Is that old server online somewhere I could access? I would like to take a look at the site and wp-admin if possible. I will activate private reply fields here.
Okay the settings on these two servers are quite different, most of all the PHP versions are different, PHP 5.6.30 vs PHP 7.0.26. Beyond that, there are many other configuration differences in the Core section like memory limit, execution time, input vars, and so forth. I'll enable private reply fields here.
Thanks, I have the information for the current site at that URL. What about log in credentials for the site on your old server?
The site actually is no longer set up on the old server. The old server is still active, so I tried to upload our backups from the old server back to the old server, and the database is giving me some issues, so I'm unable to set it up on the old server again.
Okay I understand, thanks for the additional information. As a temporary fix, I have added this line to your wp-config.php file:
ini_set('pcre.jit', false);
Please be sure to download this updated file to your local file repository.
After some research by developers and 2nd tier support team, it appears that a feature in PHP 7 that improves performance speed also introduces some limitations for evaluating regular expressions on the back-end. This limitation is exceeded with all the View filters in your current PHP 7 site. The configuration change I added will help prevent display problems when that limit is exceeded. It's not a long-term solution to the problem, but it will temporarily prevent the error you've experienced. Our developers have a ticket in place to try to optimize our regular expressions to work better in PHP 7, and I've linked this ticket so I can keep tabs on progress there. I will update you as soon as I have more information to share.
Great, just tested the site and everything is working as it should now. Really appreciate your help! Thanks so much.
Hi.
Commenting on this problem and solution here in Feb 2019. I am upgrading my servers to PHP7 and ran into this problem/solution.
It doesn't seem that the regular expressions were addressed for nested views, even with the latest version of the plugin. I am upgrading to Views 2.7.4 and PHP 7.2. Only that wp-config change fixed the issue even with the updated plugins.
Thanks.