ecshop 属性筛选在category.php 页面显示顺序错误,调整和后台排序一致

在category.php 行 272处查找

$attr_list = $db->getAll($sql);
字样然后下面增加如下代码 
从phpsir_filter_code_start 到 phpsir_filter_code_end 中间部分
$attr_list = $db->getAll($sql);
//phpsir_filter_code_start
                $phpsir_tmp=$attr_list[0];
                $phpsir_sql= "select attr_values from " . $ecs->table('attribute') . " WHERE attr_id = '$phpsir_tmp[attr_id]' ";
                $phpsir_attribute = $db->getOne($phpsir_sql);  
                $phpsir_ga = explode("\n",$phpsir_attribute);
                $phpsir_new_attr_list = array();
                foreach($attr_list as $kk=>$vv)
                {
                    foreach($phpsir_ga as $kkk => $vvv){
                        if(trim($vv['attr_value']) == trim($vvv))
                        {
                            $phpsir_new_attr_list[$kkk] = $vv;
                        }
                    }
                }
                ksort($phpsir_new_attr_list);
                $attr_list = $phpsir_new_attr_list;
//phpsir_filter_code_end

前台显示例子如下

phpsir_filter_code1

 

代码在上面,或者如下图

phpsir_filter_code

 

 

linux下邮件服务器配置的各个部件的关系

postfix 毫无疑问这个MTA (Mail Transfer Agent) 是用来做邮件传输的
maildrop 用来做本地的邮件投递投递工作,MDA (Mail delivery agent)
courier-authdaemon 用于认证 配置文件是 /etc/courier/authdaemonrc
courier-authlib 认证库支持
courier-authlib-mysql 支持mysql的认证库 配置文件 /etc/courier/authmysqlrc
saslauthd 用于 SMTP 认证,支持courier-authlib 配置文件 /etc/default/saslauthd
courier-pop courier-pop-ssl pop3 和 pop-ssl 的认证服务 配置文件 /etc/courier/pop3d
courier-imap courier-imap-ssl imap 和 imap-ssl 的 认证服务 配置文件 /etc/courier/imapd

需要启动的服务
/etc/init.d/postfix start
/etc/init.d/courier-authdaemon start
/etc/init.d/saslauthd start
/etc/init.d/courier-imap start
/etc/init.d/courier-pop start

测试方法
测试下Courier-Authlib是否能成功连接mysql

authtest -s login 邮件地址 或者 authtest -s login 邮件地址 密码

测试sasl 的smtp
testasaslauthd -s smtp -u xxxx -p xxxxx

ubuntu 下安装 postfix extmail 系统参考
http://www.mike.org.cn/articles/ubuntu-configure-postfix-mailserver/

nginx 的 substitutions4nginx 在gzip的问题上的处理

nginx 的代理功能不错,但是有些类似小偷的程序,可以利用
substitutions4nginx 来改写目标页面的html代码,
subs_filter www.a.com www.b.com;
但是有时候居然无法匹配 www.a.com ,发现源文件里面是gzip的从而无法匹配
那么只需要修改proxy的指令,告知源,我这里不收取gzip的资料,请发我未压缩的版本
proxy_set_header Accept-Encoding “”;
可以解决
完整的如下

server
{
listen 80;
server_name www.a.com;
location / {
subs_filter www.a.com www.b.com ;
proxy_set_header Accept-Encoding “”;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://www.a.com;
index index.html index.htm;
}
}

 

有关apache的proxy时候碰到gzip,看 http://www.zjpro.com/apache-2-4-substitute.html

yum安装的proftpd无法登录系统用户

默认安装的proftpd 的 pam_stack.so 模块文件不存在
我经过参考 http://cosmicb.no/2014/05/09/proftpd-pam-unable-to-dlopenlib64securitypam_stack-so-in-centos-6-5/
修改 /etc/pam.d/proftpd 为
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required pam_shells.so
auth include system-auth
account include system-auth
session required pam_loginuid.so