saber 酱的抱枕

Fly me to the moon

11/29
2017
学习

PHP缓冲区问题导致的dedecms异常

最近服务器上迁移过来了一些网站(后台是DEDECMS),今天遇到了两个因为PHP缓冲区导致的图像损坏问题。

1.验证码无法显示

这个验证码在原本的服务器上是正常的,到了新服务器上却无法显示了。

对于这个问题,我们可以修改dedecms的文件去除验证码,但是这个办法治标不治本。正确的处理办法是在include文件夹的vdimgck.php里加一句ob_end_clean();函数来解决。
Read More →

PHP缓冲区问题导致的dedecms异常

05/22
2016
学习

php使用iconv转换编码时忽略错误字符的办法

我在做pixiv图片下载器的时候,需要用php在硬盘上建立文件夹。有些文件夹的名字含有中文,那就需要转换为gbk编码,不然出来是乱码。

之前我是这样转换的:

iconv('utf-8', 'gbk', "【20周年♡】魔卡少女樱特辑");

但有时候会遇到问题,例如上面“周年”后面的心,在gbk里面没有,转换的时候会出错。一旦出错,这条语句就停止执行了,我们只能得到前半截“【20周年”,后面什么都没了。

今天这个现象又发生了,上网查了查,原来加上ignore参数就可以忽略出错的字符,继续转换。

iconv('utf-8', 'gbk//ignore', "【20周年♡】魔卡少女樱特辑");

现在,这个心会被忽略掉,我们能得到较为满意的结果“【20周年】魔卡少女樱特辑”。

另外还有个参数//TRANSLIT是遇到错误时替换为相近的字符,但是这个效果很难说啊,我是没有用。

php使用iconv转换编码时忽略错误字符的办法

10/27
2014
软件

远程桌面:终端服务器超出了最大允许连接数

刚才在服务器上从本地磁盘复制一个文件,但是一打开本地磁盘的文件夹,服务器就几乎整个卡死了,注销都没办法,只好强关远程连接窗口。之后再登陆就登不上了,提示错误:“终端服务器超出最大允许链接数”。百度找到了解决办法:

引起该问题的原因在于终端服务的缺省链接数为2个链接,并且当登录远程桌面后如果不是采用注销方式退出,而是直接关闭远程桌面窗口,那么实际上会话并没有释放掉,而是继续保留在服务器端, 这样就会占用总的链接数,当这个数量达到最大允许值时就会出现这个故障提示。

解决办法:开始 ==> 运行 ==> 输入: mstsc /admin

输入完成后点击确定回车,回车后,看到熟悉的远程桌面连接窗口。再输入远程所需要的用户名和密码,点击连接,重新登陆,即可默认强制登陆到服务器的0用户下。

查看来源

远程桌面:终端服务器超出了最大允许连接数

07/14
2014
学习

dedecms更新时出现 DedeTag Engine Create File False错误

一般是因为栏目原本是外部链接后来改成了频道或列表页,抑或反之。更新的时候原来的“文件保存网址”处还有值或者保存目录没有填写都会导致这个问题,把这些改成现在栏目属性对应的就好了。

来源:http://blog.sina.com.cn/s/blog_68b56adb0100t73o.html

dedecms更新时出现 DedeTag Engine Create File False错误

07/14
2014
学习

dedecms5.7发表文章提示标题不能为空的原因

dedecms后台添加文章时,提示标题不能为空,但是,标题、内容和分类都是填好的

对系统设置的修改只能保存英文的修改,中文的提示成功但是没有更改

原因:
这个是php版本和 dedecmsgbk编码间产生的问题

htmlspecialchars在php5.4默认为utf8编码,gbk编码字符串经 htmlspecialchars
转义后的中文字符串为空,也就是标题为空。

最好的办法是使用utf-8的 dedecms,不会有问题。

解决方法1:

如果用的是php5.4,换成5.3就好了.

解决方法2:
给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
具体修改页面:
1、dede/article_add.php 和 dede/article_edit.php
将 $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));改成$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312');
2、include/ckeditor/ckeditor_php5.php 138行将htmlspecialchars($value)替换为htmlspecialchars($value, ENT_COMPAT ,'GB2312')
测试,发布文章成功。

dedecms5.7发表文章提示标题不能为空的原因