Перейти к основному содержанию
Тема: SMF 2.0 и PHP 7 (Прочитано 4435 раз) предыдущая тема - следующая тема

SMF 2.0 и PHP 7

Источник: https://sleepycode.com/2016/05/smf-2-0-with-php-7/

1. В файле $sourcedir/Subs-Db-mysql.php найти:
	// Map some database specific functions, only do this once.

Добавить перед:
	global $sourcedir;
if (@version_compare(PHP_VERSION, '7.0') >= 0)
require_once($sourcedir . '/Subs-Compat.php');

2. Найти:
	if (!is_resource($connection))
db_fatal_error();

Заменить:
	if (!is_resource($connection) && !is_object($connection))
db_fatal_error();

3. В файле $sourcedir/Subs-Compat.php

после:
if (!defined('SMF'))
die('Hacking attempt...');


добавить:
// Compatibility where MySQL functions don't exist.
if (!function_exists('mysql_connect'))
{
function mysql_connect($host, $username, $password){return mysqli_connect($host, $username, $password);}
function mysql_pconnect($host, $username, $password){return mysqli_connect('p:' . $host, $username, $password);}
function mysql_real_escape_string($string, $connection = null){return mysqli_real_escape_string($connection, $string);}
function mysql_select_db($database, $resource = null){return mysqli_select_db($resource, $database);}
function mysql_fetch_row($resource = null){return mysqli_fetch_row($resource);}
function mysql_free_result($resource = null){return mysqli_free_result($resource);}
function mysql_num_rows($resource = null){return mysqli_num_rows($resource);}
function mysql_data_seek($resource = null, $row){return mysqli_data_seek($resource, $row);}
function mysql_num_fields($resource = null, $row){return mysqli_num_fields($resource, $row);}
function mysql_get_server_info($resource = null){return mysqli_get_server_info($resource);}
function mysql_error($resource = null){return mysqli_error($resource);}
function mysql_errno($resource = null){return mysqli_errno($resource);}
function mysql_query($query, $resource = null){return mysqli_query($resource, $query);}
function mysql_unbuffered_query($query, $resource = null){return mysqli_query($resource, $query, MYSQLI_USE_RESULT);}
function mysql_affected_rows($resource = null){return mysqli_affected_rows($resource);}
function mysql_insert_id($resource = null){return mysqli_insert_id($resource);}
function mysql_fetch_assoc($resource = null){return mysqli_fetch_assoc($resource);}
}

Re: SMF 2.0 и PHP 7

Ответ #1
Спасибо, добрый человек.

Re: SMF 2.0 и PHP 7

Ответ #2
В SMF 2.0.14 добавлена поддержка PHP 7