让php7支持老版本的帝国cms
一个朋友的网站,需要更换空间。遇到一些问题总结了一下。程序是帝国的cms, 原来的环境是php5。更换成php7后遇到了两点问题。
一个问题 程序的语法问题
Parse error: syntax error, unexpected end of file in /e/class/adminfun.php on line 292
解决的方法
修改配置文件 php.ini
short_open_tag = On
二问题,函数不支持的问题
因为php7已经放弃了对mysql_x支持。更换成了mysqli_x
可以在e/config/config.php
添加以下函数
$mysqli = null;
if(!function_exists('mysql_connect')){
function mysql_connect(){
global $mysqli;
#$mysqli = mysqli_connect("$dbhost:$dbport", $dbuser, $dbpass, $dbname);
$mysqli = mysqli_connect("", "", '', "");
return $mysqli;
}
function mysql_select_db($dbname){
global $mysqli;
return mysqli_select_db($mysqli,$dbname);
}
function mysql_fetch_array($result){
return mysqli_fetch_array($result);
}
function mysql_fetch_assoc($result){
return mysqli_fetch_assoc($result);
}
function mysql_fetch_row($result){
return mysqli_fetch_row($result);
}
function mysql_query($query){
global $mysqli;
return mysqli_query($mysqli,$query);
}
function mysql_escape_string($data){
global $mysqli;
return mysqli_real_escape_string($mysqli, $data);
}
function mysql_real_escape_string($data){
return mysql_real_escape_string($data);
}
function mysql_close(){
global $mysqli;
return mysqli_close($mysqli);
}
function mysql_num_rows(){
global $mysqli;
return @mysqli_num_rows($mysqli);
}
}