vim注释颜色修改

vim默认注释颜色不清晰,可通过修改/etc/vimrc在最后添加一行:hi comment ctermfg=6
数字对应的色值:
0 黑色
1 红色
2 墨绿
3 黄色
4 蓝色(默认)
5 粉色
6 淡蓝色

=7 白色

其他:
修改字符串颜色 hi String ctermfg=darkred
修改类型颜色 hi Type ctermfg=yellow
修改数字颜色 hi Number ctermfg=darkblue
修改常量颜色 hi Constant ctermfg=blue
修改声明颜色 hi Statement ctermfg=darkyellow
设置关键字为蓝色非粗体 hi Identifier ctermfg=blue cterm=none (bold 就设置成粗体)

判断是否开启允许trace方法

TRACE是一种HTTP方法,允许TRACE方法的Web服务器存在跨站脚本漏洞。

检测方法:
curl -v -X TRACE http://www.yourserver.com
curl --insecure -v -X TRACE https://www.yourserver.com
依据返回信息判断

处理方式:
禁用TRACE方法,IIS可使用URLScan禁用,而Apache则可使用mod_rewrite模块禁用或在httpd.conf中配置TraceEnable off

PhpSpreadsheet导出excel时科学计数法

导出excel时默认长数字使用科学计数法导致数值不准确,推荐处理方式:

self::$sheet->setCellValueExplicit($span . $column, $value, DataType::TYPE_STRING);

批量创建系统及相关配置脚本

copy.sh
批量创建网站程序

    #!/bin/bash
    
    #---------------------------------------
    # 批量复制部署系统程序
    # author: SenSen 1050575278
    # date: 2021/10/16
    # 注意:所有脚本需测试后方可使用!!!
    #---------------------------------------
    
    #确定版本号
    read -p "Enter Version Code to continue : " code
    
    if [ "$code" ]; then
    
      #待部署系统文件夹名称 todo 待通过dns文件获取
      sysDir=(t001 t002)
    
      #源文件 依据系统版本
      sourceDir="/web/source/${code}.zip";
    
      #判断文件是否存在
      if [ ! -f "${sourceDir}" ];then
        echo "Error: File not found"
        exit
      fi
    
      #安装目录
      baseDir='/web/oa/'
    
      for f in "${sysDir[@]}"
        do
          #获取当前时间
          curtime=`date +"%Y/%m/%d %H:%M:%S"`
    
          #复制
          cp -rf ${sourceDir} ${baseDir}${f}".zip"
    
          #解压 默认解压到当前
          unzip -oq ${baseDir}${f} -d ${baseDir}${f}
    
          #变更用户组
          chown -R www:www ${baseDir}${f}
    
          #删除压缩包
          rm -rf ${baseDir}${f}".zip"
    
          echo "${curtime} ${f} done"
        done
    else
        echo "Error: param is empty"
    fi

copy_conf.sh
批量创建系统配置文件

    #!/bin/bash
    
    #---------------------------------------
    # 批量生成网站配置文件
    # author: SenSen 1050575278
    # date: 2021/10/16
    # 注意:所有脚本需测试后方可使用!!!
    #---------------------------------------
    
    #进入伪静态目录
    cd /www/server/panel/vhost/nginx
    
    baseDir='/web/oa/'
    
    sysDir=`ls /web/oa`
    
    #循环生成伪静态
    for f in ${sysDir}
    do
      #复制
      cp "thinkphp_conf.conf" "${f}.speaklaw.cn.conf"
      #替换
      find "${f}.speaklaw.cn.conf" | xargs sed -i "s/sensen/${f}/"
    
      echo "${f} done"
    done

copy_rewrite.sh
批量创建系统伪静态配置

    #!/bin/bash
    
    #---------------------------------------
    # 批量复制部署系统程序
    # author: SenSen 1050575278
    # date: 2021/10/16
    # 注意:所有脚本需测试后方可使用!!!
    #---------------------------------------
    
    #进入伪静态目录
    cd /www/server/panel/vhost/rewrite
    
    baseDir='/web/oa/'
    
    sysDir=`ls /web/oa`
    
    #循环生成伪静态
    for f in ${sysDir}
    do
        cp "sensen.speaklaw.cn.conf" "${f}.speaklaw.cn.conf"
        echo "${f} done"
    done


`sensen.speaklaw.cn.conf` 伪静态配置文件

    location / {
        if (!-e $request_filename){
            rewrite  ^(.*)$  /index.php?s=$1  last;   break;
        }
    }

thinkphp_conf.sh 系统配置文件

    server
    {
        listen 80;
        server_name sensen.speaklaw.cn;
        index index.php index.html index.htm default.php default.htm default.html;
        root /web/oa/sensen/public;
        
        #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
        #error_page 404/404.html;
        #SSL-END
        
        #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
        #error_page 404 /404.html;
        #error_page 502 /502.html;
        #ERROR-PAGE-END
        
        #PHP-INFO-START  PHP引用配置,可以注释或修改
        include enable-php-74.conf;
        #PHP-INFO-END
        
        #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
        include /www/server/panel/vhost/rewrite/sensen.speaklaw.cn.conf;
        #REWRITE-END
        
        #禁止访问的文件或目录
        location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
        {
            return 404;
        }
        
        #一键申请SSL证书验证目录相关设置
        location ~ \.well-known{
            allow all;
        }
        
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$
        {
            expires      30d;
            error_log /dev/null;
            access_log /dev/null;
        }
        
        location ~ .*\.(js|css)?$
        {
            expires      12h;
            error_log /dev/null;
            access_log /dev/null;
        }
    
        access_log_bypass_if ($request_uri = '/api/exec_notice');
    
        access_log  /www/wwwlogs/sensen.speaklaw.cn.log;
        error_log  /www/wwwlogs/sensen.speaklaw.cn.error.log;
    }

VMware开机启动操作系统 局域网共享访问

为方便测试使用VMware搭建了LNMP服务器,共享给局域网使用。

配置开机自启动lnmp服务器系统:

  1. 创建vm.bat
    "D:\install\vmware12\vmrun.exe" start "F:\Virtual Machines\CentOS\CentOS.vmx"
  2. 添加到开机启动目录中
    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

注:网络连接使用“桥接模式”,并在“虚拟网络编辑器”中桥接到对应的本机有线或无线网卡上。

编辑vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static
IPADDR=192.168.10.110
NETMASK=255.255.255.0
NETWORK=192.168.10.0
GATEWAY=192.168.10.1
DNS1=119.29.29.29
DNS2=8.8.8.8
ONBOOT=yes

php编译安装oci8 pdo_oci扩展

系统环境:centos7.8 + php7.4 + thinkphp6 + oracle 11g

注意:使用独立下载的扩展容易引起部分错误信息,不建议使用。推荐使用对应php版本中的ext扩展直接编译安装。

【安装oracle客户端】
下载地址
https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html

- 阅读剩余部分 -

去除phpoffice默认插入图片产生边框

项目中通过phpoffice(v0.17)生成word文件,插入word的图片默认带黑边框问题。

解决方式:
路径:vendor/phpoffice/phpword/src/PhpWord/TemplateProcess.php

位置:578行 stroked=""
$imgTpl = '<w:pict><v:shape type="#_x0000_t75" style="width:{WIDTH};height:{HEIGHT};" stroked=""><v:imagedata r:id="{RID}" o:title=""/></v:shape></w:pict>';

composer基础使用

Composer 需要 PHP 5.3.2+ 以上版本,且需要开启 openssl。

composer -v 查看版本

推荐使用阿里云全量镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
如仅当前项目使用则可去除-g选项。

取消配置:composer config -g --unset repos.packagist

- 阅读剩余部分 -