[乱码] https设置后居然乱码??如何解决

    xiubao 回复了问题 • 2 人关注 • 1 个回复 • 105 次浏览 • 2020-02-17 13:14 • 来自相关话题

    /home/bae/app/uploads 文件夹无法写入, 请检查并将文件夹权限设置为 0777

    xiubao 回复了问题 • 2 人关注 • 1 个回复 • 60 次浏览 • 2020-02-17 13:13 • 来自相关话题

    升级版本系统出错,请帮忙看看是怎么回事啊

    xiubao 回复了问题 • 2 人关注 • 1 个回复 • 78 次浏览 • 2020-02-11 11:08 • 来自相关话题

    提升性能:解决wecenter创建临时表到磁盘过多的一个性能问题的修改方法

    kenw2004 发表了文章 • 1 个评论 • 159 次浏览 • 2020-01-29 23:03 • 来自相关话题

    运行中发现Zend fr amework中有大量的DESCRIBE操作,这是读取表结构的一个操作。每次都会建立临时表到磁盘,这会导致大量的磁盘读写。但mysql中设置了临时表的内存缓存 tmp_table_size 参数,并且足够 ...查看全部

    运行中发现Zend fr amework中有大量的DESCRIBE操作,这是读取表结构的一个操作。每次都会建立临时表到磁盘,这会导致大量的磁盘读写。

    但mysql中设置了临时表的内存缓存 tmp_table_size 参数,并且足够大,理应是把临时表建到内存而不是磁盘。但依然临时表建到了磁盘上。经查,原来是由 DESCRIBE aws_sessions 引起的。

    每次访问(任何页面),zend的db类都会读取aws_sessions表的表结构,此过程会创建一个临时表,可能是表结构数据。由于aws_sessions表中包含text字段,含有此字段的表会跳过内存缓存,直接创建到磁盘上,会引起性能问题。特别是大量访问量,极有可能引起 aws_sessions 锁表(将 aws_sessions  改为 innodb 引擎会缓解此问题)。

    以下是减少DESCRIBE aws_sessions的次数,减少创建临时表到磁盘次数的修改方法。

    一、打开:system\core\db.php 文件,修改 setob ject 函数,增加缓存部分:

    请注意,请勿直接复制以下代码,因为在发本贴时,we的编辑器强制在好几个地方强制加了空格,比如t和m间加了空格并将m变为了小写,将会导致程序运行错误,下面截图正确的代码,请大家复制手,自己手工修改一下,参见紧接着的图是正确的代码:  

    public function setob ject($db_ob ject_name = 'master')
    {

    if (isset($this->db[$db_ob ject_name]))
    {
    Zend_Registry::set('dbAdapter', $this->db[$db_ob ject_name]);
    //增加缓存,减少 DESCRIBE TABLE 次数 2020-1-29
    $frontendOptions = array('automatic_serialization' => true);
    $backendOptions = array('cache_dir' => ROOT_PATH.'cache/db/');
    $cache = Zend_Cache::factory(
    'Core',
    'Redis',
    //'File',
    $frontendOptions,
    $backendOptions
    );
    Zend_Db_Table_Abstract::setDefaultme tadataCache($cache);
    //END 增加缓存,减少 DESCRIBE TABLE 次数 2020-1-29
    Zend_Db_Table_Abstract::setDefaultAdapter($this->db[$db_ob ject_name]);

    $this->current_db_ob ject = $db_ob ject_name;

    return $this->db[$db_ob ject_name];
    }

    throw new Zend_Exception('Can\'t find this db ob ject: '.$db_ob ject_name);
    }

    请注意,请勿直接复制上述代码,因为在发本贴时,we的编辑器强制在好几个地方强制加了空格,比如t和m间加了空格并将m变为了小写,将会导致程序运行错误,下面截图正确的代码,请大家复制手,自己手工修改一下,下图是正确的代码


    二、在cahce目录下,创建 db 目录做为缓存目录。

    如果你使用的redis缓存,则修改 'File' 为 'Redis'即可,可以为用创建cache/db目录

    此修改会启用缓存,再次读取表结构时,直接读取缓存,而无需读取源表和创建临时表到磁盘。

    这个问题也是找了很久才定位成功。本想自己改了用就行了,但是想想,也许还会有人需要,也可以帮助官方改进。就发到这里,分享给大家,希望能有帮助。

    升级后手机端无法注册

    回复

    marco_hsu 发起了问题 • 1 人关注 • 0 个回复 • 205 次浏览 • 2019-10-20 12:09 • 来自相关话题

    程序升级后移动端显示都是空的怎么办?

    小码站 回复了问题 • 2 人关注 • 1 个回复 • 198 次浏览 • 2019-10-20 11:09 • 来自相关话题

    有没有3.3.2升级到3.3.3的升级包呢?只能下载官方的完整安装包不适合升级吧

    回复

    dsy4511 发起了问题 • 1 人关注 • 0 个回复 • 436 次浏览 • 2019-08-14 11:44 • 来自相关话题

    测试百度编辑器下面上传图片有点小问题

    回复

    MZC 回复了问题 • 1 人关注 • 1 个回复 • 322 次浏览 • 2019-08-11 23:59 • 来自相关话题

    文章逻辑删除后,统计数量出错!

    程_什么么 发表了文章 • 1 个评论 • 464 次浏览 • 2019-08-10 19:35 • 来自相关话题

    文章逻辑删除后,数量统计不正确!看了下模块代码顺序搞错了/models/article.php 文件  原代码 先统计的数据,再更新的文章is_de ...查看全部

    文章逻辑删除后,数量统计不正确!

    看了下模块

    代码顺序搞错了


    /models/article.php 文件  

    原代码 先统计的数据,再更新的文章is_del 状态!

    public function remove_article($article_id,$whereDel = false)
    {
    if (!$article_info = $this->get_article_info_by_id($article_id))
    {
    return false;
    }
    $delWhere = null;
    $isdel = 1;
    if($whereDel !== false){
    $delWhere = ' and is_del != 1';
    $isdel = $whereDel;
    }
    $this->update('topic_relation', ['is_del'=>$isdel],"`type` = 'article' AND item_id = " . intval($article_id).$delWhere);// 删除话题关联
    $this->update('posts_index', ['is_del'=>$isdel],'post_type="article" and post_id = ' . intval($article_id).$delWhere);
    $this->update('user_action_history', ['is_del'=>$isdel],'associate_id = ' . intval($article_id).$delWhere);
    $this->shutdown_update('users', array(
    'article_count' => $this->count('article', 'is_del=0 and uid = ' . intval($article_info['uid']))
    ), 'uid = ' . intval($article_info['uid']));
    $this->model('topic')->update_discuss_count(3);
    AWS_APP::cache()->clean();
    return $this->update('article', ['is_del'=>$isdel],'id = ' . intval($article_id).$delWhere);
    }


    修改成

    public function remove_article($article_id,$whereDel = false)
    {
    if (!$article_info = $this->get_article_info_by_id($article_id))
    {
    return false;
    }
    $delWhere = null;
    $isdel = 1;
    if($whereDel !== false){
    $delWhere = ' and is_del != 1';
    $isdel = $whereDel;
    }
    $this->update('topic_relation', ['is_del'=>$isdel],"`type` = 'article' AND item_id = " . intval($article_id).$delWhere);// 删除话题关联
    $this->update('posts_index', ['is_del'=>$isdel],'post_type="article" and post_id = ' . intval($article_id).$delWhere);
    $this->update('user_action_history', ['is_del'=>$isdel],'associate_id = ' . intval($article_id).$delWhere);
    $this->update('article', ['is_del'=>$isdel],'id = ' . intval($article_id).$delWhere);
    $this->shutdown_update('users', array(
    'article_count' => $this->count('article', 'is_del=0 and uid = ' . intval($article_info['uid']))
    ), 'uid = ' . intval($article_info['uid']));
    $this->model('topic')->update_discuss_count(3);
    AWS_APP::cache()->clean();
    return true;
    }


    下面的恢复文章 类模块也按此修改

     public function recover_question($article_id,$whereDel = false) 


    (粗心大意,恢复文章类   翻译成了 恢复问题 ) 。。。。



    动态 数据数量问题

    程_什么么 发表了文章 • 0 个评论 • 377 次浏览 • 2019-08-08 02:40 • 来自相关话题

    如果数据删除了,但是动态还是会记数。比如显示数量显示10条。 如果你把最前面的10条动态数据删除了,则动态页面就没有内容显示,因为把删除的10条数据 也统计了,但是删除的内容其实是不会显示的。解决办法: ...查看全部

    如果数据删除了,但是动态还是会记数。

    比如显示数量显示10条。 如果你把最前面的10条动态数据删除了,则动态页面就没有内容显示,因为把删除的10条数据 也统计了,但是删除的内容其实是不会显示的。


    解决办法:

    在system/class/cls_action_log_class.inc.php


    找到  get_actions_fresh_by_where

    在这个类下面增加一个判断

    $where = '(' . $where . ') AND is_del = 0';