PDA

View Full Version : PHP7 and VB 5.1.9 patch 3


shimei
01-30-2016, 12:32 AM
I haven't ran into errors yet after enabling php7 and making the following changes. I backed up each file I worked with (downloaded them for safe keeping). Mind you I am using 5.1.9 patch 3.

I began by enabling php 7. Then checking my site. My dragonbyte product was not loading, and neither was my admincp. To access admincp I had to revert back to 5.6 php version. Once in and after disabling my product I then enabled php 7 again and performed the below mods. Afterwards I was able to once again access admincp to enable my dragonbyte product which works.

You may visit my page here to see what I did. It only involved 3 files to be modded.... Vbulletin 5 and php 7 (https://www.christforums.org/forum/entertainment-fun/computers-technology/10220-vbulletin-5-and-php-7)

In vBulletin 5.1.9 patch 3 two files are with the same issue:

/includes/vb5/template/bbcode.php
/core/includes/class_bbcode.php

Search for the line:

$pending_text= $this->$tag_info['callback']($open['data'], $open['option']);

and replace with:

$function= $tag_info['callback'];
$pending_text= $this->$function($open['data'], $open['option']);



/public_html/core/vb/database.php

Search for the line:

function vB_Database()

And replace with:

function __construct()

Don’t forget that APC no longer exists in PHP7, so make sure your config.php doesn’t use this as the datastore.

And visit this site as to the first steps which I incorporated in the above page: http://linuxbox.co.uk/blog/vbulletin-5-and-php-7/

I am only minutes after doing the above on php 7. Thus far I am bug free after browsing the forum and making posts. If you run into any issues and resolve them please post below.

Dave
01-30-2016, 02:03 AM
Great to see another post about PHP 7 and vBulletin. It really makes a difference.

shimei
01-30-2016, 02:17 AM
Great to see another post about PHP 7 and vBulletin. It really makes a difference.

Thanks Dave. Do you know whether Fast CGI is beneficial to run with PHP7? As is now I have it enabled or are they unrelated altogether? I haven't began to research it yet. But I take it they unrelated.

Dave
01-30-2016, 02:32 AM
According to http://www.bitaccel.com/blog/php-cgi-vs-php-fpm-on-nginx/ PHP-FPM is the better one to pick. I personally haven't done any tests between the 2.

Zachery
01-30-2016, 06:24 PM
Pretty sure 5.2.0 has better support for PHP7.

If you're on nginx (though I'm not happy about the direction they're taking the product) PHP-FPM has a lot of benefits so go with it.

shimei
01-30-2016, 06:52 PM
Pretty sure 5.2.0 has better support for PHP7.

If you're on nginx (though I'm not happy about the direction they're taking the product) PHP-FPM has a lot of benefits so go with it.


I have been running on php 7 now for a day.... not a single error. I am using opcache too. My host doesn't have FPM installed, but only fastcgi, so that is my only option at the moment.

My speed increases don't seem to be day and night, because I was using HHVM with php 5.6. Someone posted my response times now at ~330ms, which is much better than the avg Vb 5 site with 800ms responses.

Paul M
01-30-2016, 07:15 PM
Pretty sure 5.2.0 has better support for PHP7.
Most of the php7 work is in 5.2.1

shimei
01-30-2016, 07:20 PM
Most of the php7 work is in 5.2.1

Paul M, is there anyway to figure out what other changes may of been necessary? I have visited the Jira but it isn't like open source software where one can see the changes made.

Zachery
01-30-2016, 07:39 PM
Most of the php7 work is in 5.2.1

Ah, well I'm not as in the loop as I once was.

shimei
01-31-2016, 05:33 AM
Just ran into my first error. Could not log back in because it said unknown constructor. It gave no other information.

Dave
01-31-2016, 01:54 PM
What was the exact error? Something like "Methods with the same name as their class may not be constructors"?

shimei
01-31-2016, 03:25 PM
What was the exact error? Something like "Methods with the same name as their class may not be constructors"?

On the login page, after trying to log in the only thing is said was "unknown constructor."