本贴内容包含帝国CMS设置中及你的服务器本身问题引起的错误提示解决方法
1. 登陆后台错误提示:(***此提示在新手使用过程中经常被遇到*** 大家要重视哦)
Fatal error: Unable to read …. bytes …
解答:请按二进制上传文件。
因为这个提示就是没有按二进制上传,删除服务器上的文件,重新上传。
如还这个提示,你只能考虑换个FTP软件。
如用CuteFTP工具进行上传,CuteFTP二进制上传方法:进入软件后按“ALT+F7 进入 Global Options(全局选项)—>传输—>ASCII 类型”,然后在右边列表框中找到名为“PHP”的项目,选定后点右边的“删除—>确定”即可。
为什么会提示这个错误?Zend编译过的文件FTP上传方式必须(强制)使用二进制模式,不能采用auto和ASCII,否则就会出现这个错误。
注:一定要确保下载和上传时都采用二进制方式,不然都有可能产生错误。
2. Fatal error: Maximum execution time of …
解答:php运行超时,到参数设置那把每组备份(刷新)数改小,也可以在服务器的php.ini文件中改max_execution_t= 的值,
如果文件夹数据比较大,建议你从ftp下载备份的数据。
对于超时设定,要修改php.ini:
max_execution_t= 时间,然后重起服务
或者在程序写
set_time_limit(时间); //0为无限制
3. Fatal error: Allowed memory size of …. bytes exhausted (tried to allocate … bytes) in..
解答:你的服务器/空间PHP设置问题。设置服务器或找空间商修改:
PHP对Script记忆体空间限制的缘故。Default 设定为 8MB,而有些以前的 Script,会要求使用超过 8MB 的内存空间,只要加大 8MB 的使用限制即可。
加大 8MB 内存使用限制,方法有二,选其一即可:
方法一(推荐)、修改 php.ini 里的 memory_limit 的设置值 8M 改为 12M:memory_limit = 12M
方法二、在最上层的 PHP Script,加入一行
ini_set("memory_limit","12M");
注:如果扩大到 12M 仍然相同的错误发生,则再加大 12M 限制。
4. Fatal error: Cannot redeclare printerror() (previously declared in …
解答:没有复制新版授权文件的原故
5. 安装成功,进入后台输入用户名和密码登陆就出现下面的错误提示:
“Parse error: parse error, unexpected ')' in …/functions.php on line…
或者:zend not install...
Parse error: parse error, unexpected '/' in ...
Parse error: parse error, unexpected T_STRING in
Parse error: syntax error, unexpected '}' in
Parse error: syntax error, unexpected T_STRING in
解答:zend没安装成功,或者服务器不支持zend。
zend是否有安装成功的验证方法:
运行info.php文件,内容为如下:
<?
phpinfo();
?>
如果有出现:zend optimizer,表示安装成功,否则出现zend optimizer not installed表示没有安装zend/或者zend安装不成功.
如已安装zend,info页面却显示没有安装zend,那么有可能是system32权限不够, 使zend不能更改php.ini文件。请检查权限。
6. Fatal error: Corrupted encoded data detected in …
解答:文件坏了,重新按二进制上传这个文件
7. 会员注册信息提交后出现以下代码
Fatal error: Call to undefined function :RepPostVar1() in …
解答:请确认您下载的是最新版本的万能会员接口。如需将4.0接口升级至4.6,仔细看好升级说明最后几行 “会员接口升级说明”。
8. Fatal error: Call to undefined function sys_ShowTextPage…
解答:1、请确认你的程序是从官方下载
2、提示这个错误是因为你的包少了内容,重新从官方下载e/class/t_functions.php到本地
9.采集入库错误 Fatal error: Call to undefined function: imagettfbbox() in ..../e/class/gd.php ..
解答:你的空间的gd库不支持文字水印,推荐采用图片水印。
采集入库错误 Fatal error: Call to undefined function: imagecreatefromgif() in ..../e/class/gd.php ..
解答:你的空间gd库不支持gif文件加水印的原故。
10. Fatal error: Call to undefined function mysql_connect() in …
解答:你的运行环境问题
原因1:你的PHP不支持mysql_connect()函数。PHP是一种模块化的设计,除了核心的内容,其他都是可选的。之所以不支持,是因为在编译PHP时没有加入对MYSQL数据库的支持。
原因2:
如果你的操作系统是Linux/Unix:
1).如果PHP是自己编译的,那么要重新做。在configure后面加上--with-mysql选项
2).如果是用的RPM,建议到网上去找找已经内置MYSQL支持的RPM包,重新装上去
原因3:卸载了以前的mysql,重装的mysql又不是rpm装的
所有安装后的路径不同了;但是在原先装apache的时候需要./configure
--prefix=/usr/local/php
--with-mysql=/usr/local/mysql (主要是这句)
用来指定mysql的安装路径
所以在重装了之后因为路径不一样,apache就无法找到mysql的安装路径
也就出现了mysql_connect:未被定义的错误
结论:MYSQL4版本以上,调用libmysqlclient.so 的方式改了,跟MYSQL3.23不一样,而PHP4.3.2和APACHE还是以旧的方式来调用,因此就找不到libmysqlclient.so 了。
MYSQL4的密码加密方式改变 可访问:http://dev.mysql.com/doc/refman/4.1/en/upgrading-from-3-23.html
11. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 1
select * from `表名` limit 0,-1
解答:到参数设置那,把支持sql查询方式去掉
备份恢复错误提示:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=gbk' at line 51
解答:你新服务器上使用的是mysql4.0,而你原服务器使用的是4.1以上版本的原故。
解决方法:备份时选择备份为4.0格式
12.“Notice: Use of undefined constant”错误说明
解答:php.ini配置问题,按下面修改即可解决:
修改php.ini,把error_reporting = E_ALL改成
error_reporting = E_ALL & ~E_NOTICE
13. Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation......
解答:错误原因——mysql的字符集不匹配的缘故。
你的查询中引用了两种字符集,gbk_chinese_ci和latin1_swedish_ci,mysql4.1及以上版本对字符集的限定跟之前的版本有很大不同,在进行数据库查询的时候如果不对字符集加以设定,一旦有查询的字段有中文,便很可能出现上面这样的错误。
所以安装帝国的时候一定要将帝国数据按gbk编码安装。
解决:一、安装时出现此错误提示的解决:安装时请设置好数据库的编码,还有运行安装文件要设置成gbk。具体可以看:http://phome.net/doc/ecmsedu/install/lm.html
注意:1、你要手动建立数据库,把他的编码设为gbk
2、安装时输入gbk作为默认编码
(此错误提示会在4.0及其以下版本出现;如4.0版升级至4.6版时:原4.0没有设置“注意1、2”步骤,此错误提示也会出现。新安装的4.6版本已自动识别本步骤了)
二、安装后出现此错误提示的解决:
将数据恢复为gbk格式:
1、用帝国备份王备份数据,备份时记得选择备份成mysql4.0格式;
2、新建一个gbk的数据库;
3、用帝国备份王恢复备份的数据(记得参数设置那设置默认编码为gbk)。
14. Cann't connect to DB!
解答:原因:连接不到数据库。
请检查你的数据库参数配置是否有误:e/class/connect.php(4.0版本及以下)
4.6版本的是检查e/class/config.php
数据库参数配置是指:空间商分配给你的用户名和密码,如空间商给改了,你需要联系空间商.
4.0 升级到4.6出现提示Cann't connect to DB!
解答:出现这个是因为你运行过升级文件的原故。现在只能按下面方法处理:
1、复制原来4.0的e/class/connect.php与e/class/config.php文件回去
并且e/class/connect.php文件里的数据库配置必须跟原来4.0数据库配置一模一样。
附加说明:
e/class/connect.php里下面一个重要参数:
----------
$phome_db_char=""; //数据库默认编码,一般为空即可
----------
如果你原来安装4.0时填写的是gbk,一定要设置为gbk;如果原来安装时设为空就不设置
2、然后删除数据库中所有ecms数据表,然后恢复数据
3、重新升级.