PHP问题,在本地测试时正确的,但是上传至服务器后就不正确了。我是把把本地数据库导出,在导入到服务器

PHP问题,在本地测试时正确的,但是上传至服务器后就不正确了。我是把把本地数据库导出,再导入到服务器,错误提示信息是Parse error: syntax error, unexpected T_FUNCTION in /home/wwwroot/townle/public_html/townle_yuncart/include/admin/dumpdb.class.php on line 92。,下面我贴出代码,希望大神能帮忙一下 (第92行是 $lines = array_filter(file($file),function($line){)先奉上100分。

/**
*
* 导入备份文件
*
*/
function import() {
$file = $this->sqlfiledir . "/".$this->filename . "_".$this->vol.".sql" ;
if(!is_file($file)) return false;
$lines = array_filter(file($file),function($line){
return substr($line,0,2) != "/*";
});
$sqlstr = str_replace("\r",'',implode('',$lines));
$ret = explode(";\n",$sqlstr);
$ret_count = count($ret);
for($i =0;$i < $ret_count;$i++) {
$sql = rtrim($ret[$i],"\r\n;");
if(!$sql) continue;
//删除不符合条件的记录
if( preg_match("/(?:DROP TABLE IF EXISTS|CREATE TABLE|INSERT INTO) `(.+?)`/",$sql,$matches) && !in_array($matches[1],$this->exclude) ) {
DB::getDB()->query($sql);
}
}
return true;
}
/**
*
* 处理null
*
*/

第1个回答  2013-09-30
检查服务器和本地程序运行环境的差异,主要是php版本,数据库,服务器及其版本,还有就是操作系统了,有不同,可能就是这些不同引起的。请仔细排除,祝你好运。
第2个回答  2013-09-30
可以检查下你的php版本
你使用了匿名函数,这个特性只有php 5.3以上版本才支持

你可以检查一下本地和服务器上的php版本对比一下本回答被提问者采纳
第3个回答  2013-09-30
$file = $this->sqlfiledir . "/".$this->filename . "_".$this->vol.".sql" ;

你将这个 打印出来 再跟你本地的比较一下 应该就明白了的! 服务器上的目录 跟 本地肯定不相同,希望能帮助你
第4个回答  2013-09-30
擦。没注意,居然用了函数式

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网