不要在php5.3下运行dedecms5.6版本
今天在利用dedecms结合ecshop帮公司制作分销联盟的,发觉dedecms5.6在php5.3的环境下连续出错
deprecated in include\dedesql.class.php on line 516 Deprecated: Function eregi() is deprecated in include\memberlogin.class.php on line 45 Deprecated: Function eregi() is deprecated in include\memberlogin.class.php on line 45 Deprecated: Function eregi() is deprecated in include\memberlogin.class.php on line 45 Deprecated: Function eregi() is deprecated in include\dedesql.class.php on line 270 Deprecated: Function eregi_replace() is deprecated in include\dedesql.class.php on line 270 Deprecated: Function eregi() is deprecated in include\dedesql.class.php on line 516
Salin selepas log masuk
根据报告,发现原来php5.3已经不在支持eregi和eregi_replace
技术比较好的,可以下载dedecms5.7,我有些文件也是直接从dedecms5.7抄过来的,因为5.7版本已经开始支持php5.3了
解决方案如下:
* call_user_method() 可以用 call_user_func() 替代
* call_user_method_array() 可以用 call_user_func_array() 替代define_syslog_variables()
* dl() 反对在使用DL加载扩展,php5.3 以后应用php.ini配制
* ereg() 可以用 preg_match() 替代
* ereg_replace() 可以用 preg_replace() 替代
* eregi() 用 preg_match() i 参数替代
* eregi_replace() 用 preg_replace() i 参数替代
* set_magic_quotes_runtime() 用 magic_quotes_runtime() 替代
* session_register() session_unregister() session_is_registered()
* 以上三个统一用 $_SESSION 替代
* set_socket_blocking() 用 stream_set_blocking() 替代
* split() 用 preg_split() 替代
* spliti() 用 preg_split() 模式 ‘i’ 替代
* sql_regcase()
* mysql_db_query() 用 mysql_select_db() mysql_query() 替代mysql_escape_string() 用 use mysql_real_escape_string() 替代
* 关于时区处理,统一用Timezone对像