echo

优化PHP代码的40条建议

岁酱吖の 提交于 2020-03-11 05:14:02
1.如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。 2.echo 比 print 快。 3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。 4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。 5.注销那些不用的变量尤其是大数组,以便释放内存。 6.尽量避免使用__get,__set,__autoload。 7.require_once()代价昂贵。 8.在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。 9.如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。 10.函数代替正则表达式完成相同功能。 11.str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。 12.如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。 13.使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。 14.用@屏蔽错误消息的做法非常低效。 15.打开apache的mod_deflate模块。 16.数据库连接当使用完毕时应关掉。 17.

postgresql冷备份

丶灬走出姿态 提交于 2020-03-11 02:36:31
每日冷备份,并自动删除 7 日以前的备份,建议对 热备份 数据进行备份 环境:centos7 192.168.0.20:15432 ( 备份库,读库) 1 创建备份目录 mkdir -p /home/data/backup/ 2 编写备份脚本 vim /home/data/backup/backup_script.sh cur_time=$(date '+%Y-%m-%d') sevendays_time=$(date -d -7days '+%Y-%m-%d') echo "开始备份数据库..." rm -f /home/data/backup/pgsql-backup.$sevendays_time.tar.gz echo "." /usr/pgsql-12/bin/pg_dumpall -U postgres -p 15432 > "pgsql-backup.$cur_time.dmp" echo "." tar zcf "/home/data/backup/pgsql-backup.$cur_time.tar.gz" *.dmp echo "." rm -f /home/data/backup/pgsql-backup.*.dmp echo "." echo "备份完成" 赋予可执行权限 chmod a+x /home/data/backup/backup_script

手机搜索不到 Connectify

久未见 提交于 2020-03-11 02:09:21
不要等到了一个笑容,才面露慈善;不要等被爱了,才去爱;不要等到寂寞了,才明白朋友的价值。不要等待,因为,你不知道等待需要花费多少的时间。    升级到3.0以后,经常出现断网的情况, 果断抛弃, 之前看到过这个 Connectify的要求是 Win7 及以上 很久之前采用过这个命令行的方式共享过网络 今天果断采用 发现,启动命令行的WIfi后 Connectify 回断网,重新配置网络, 由此得出,这个软件其实也是这用方式来创建的 现贴出,命令行创建 Wifi的 命令,只有简单的三句话,建议写成批处理文件,启动超快,使用超稳定。 @echo ================== @echo 启动WIfi netsh wlan set hostednetwork mode=allow @echo ================== @echo ---------------- @echo 配置 netsh wlan set hostednetwork ssid=kingkong key=password123 @echo ---------------- @echo **************** @echo 启动 netsh wlan start hostednetwork @echo **************** @echo Success pause    参考:

shell简介

时光毁灭记忆、已成空白 提交于 2020-03-11 01:33:42
1.1 什么是shell 变量 命令大礼包 判断循环 #重复性的工作 节约时间 1.2 书写shell脚本 mkdir -p /server/scripts 尽量把脚本都放在这个目录下 #!/bin/bash 这个脚本默认使用的命令解析器是 /bin/bash shell脚本之变量 2.1 什么是变量 未知数=====变量 2.2 环境变量(全局变量) 大写 哪里都生效 都可以使用 LANG 手动创建一个环境变量 ##临时创建 [root@dzc ~]# cd /server/scripts/ [root@dzc scripts]# export OLDBOY=teacher [root@dzc scripts]# env |grep -i oldboy OLDBOY=teacher ###永久生效 echo 'export OLDBOY=teacher' >>/etc/profile ###生效 source /etc/profile 与用户环境变量有关的文件 目录 /etc/profile、/etc/bashrc、 /etc/profile.d/ 用户登录到系统会运行这个目录下的脚本 用户环境变量配置文件 ~/.bash_profile ~/.bashrc 1.1 普通变量 [root@dzc scripts]# a=100 [root@dzc scripts]# echo

shell配置java环境变量和批处理配置环境变量

若如初见. 提交于 2020-03-10 08:19:51
linux配置java环境只需在/etc/profile中添加以下 前提是把jdk解压到/usr/local路径,当然路径可以随便改 export JAVA_HOME=/usr/local/jdk1.7.0_79export JAVA_BIN=$JAVA_HOME/binexport PATH=$PATH:$JAVA_BINexport CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 添加完毕后,执行 source /etc/profile 重新运行,使配置生效 以下是配置java环境的shell和window上的批处理 运行shell的前提是,shell必须跟jdk在同一目录下 1、shell里面配置的环境变量,并且export变量,则新建每一个shell都能利用这些变量。(环境变量定义在/etc/profile中,则每次开机后,环境变量都export一次,即可用于系统任意地方) 在shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用 export 命令对已定义的变量进行输出。 export 命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝。这个过程称之为变量输出。 #!

【自动构建系列】自动部署环境的shell脚本

社会主义新天地 提交于 2020-03-10 08:18:05
最近项目组在推行自动构建,在每次build完了之后,需要自动把文件部署到linux服务器上,因此根据项目的具体的情况,写了一个shell脚本,供自动构建工具来调用执行部署。 粗略的思路就是:停止系统-->备份现有的环境-->部署新build的文件-->修改需要修改的配置文件(如果需要)-->启动系统 大致脚本如下: #!/bin/bashDAY=`date +%Y-%m-%d-%H:%M:%S`#the path for deleting the log and tmpAPP_MAIN_PATH=/data/yousystem/jboss-5.1.0.GA/server/default#the key word for searching the process idPID_MSG=yousystem/#msg of the file which is running now,backup it.APP_FILE_NAME1=yousystem.warAPP_FILE_PATH1=/data/yousystem/jboss-5.1.0.GA/server/default/deploy#msg of the start file which is used to start the systemAPP_START_FILE=app-run.shAPP_START_PATH=/data

composer安装@year12

依然范特西╮ 提交于 2020-03-10 02:39:56
1、命令行安装(太麻烦不推荐) php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('SHA384', 'composer-setup.php') === '61069fe8c6436a4468d0371454cf38a812e451a14ab1691543f25a9627b97ff96d8753d92a00654c21e2212a5ae1ff36') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');" 2、直接去composer中国镜像下载 http://www.phpcomposer.com/ mv composer.phar /usr/local/bin/composer # 将生成的composer包放到一个存放命令包的目录,以便系统的$PATH能够搜索到这个命令,这样就可以在命令行直接使用composer命令了。 来源: https://www

shell运行写log

为君一笑 提交于 2020-03-10 02:36:26
tee 重定向输出到多个文件 在执行Linux命令时,我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令 要注意的是:在使用管道线时,前一个命令的标准错误输出不会被tee读取。 tee file //覆盖 tee -a file //追加 tee - //输出到标准输出两次 tee - - //输出到标准输出三次 tee file1 file2 - //输出到标准输出两次,并写到那两个文件中 ls | tee file   另:把标准错误也被tee读取 ls "*" 2>&1 | tee ls.txt 1. #!/bin/sh if [ $# -ne 1 ] then echo "Usage:sh $0 YYYYMMDD " exit 1 fi V_DT=$1 exec 1>>`basename $0`.log date_current=`date +%Y%m%d` echo "传入时间为: ${V_DT}" echo "系统时间为: ${date_current}" exit 0   2. #!/bin/sh if [ $# -ne 1 ] then echo "Usage:sh $0 YYYYMMDD " exit 1 fi V_DT=$1 date_current=`date +%Y%m%d` echo "传入时间为: ${V_DT}" >> $

centos系统内存 buff/cache 占用过高

断了今生、忘了曾经 提交于 2020-03-09 20:51:04
情况说明: centos系统,buff/cache占用过高,导致服务器内存居高不下,但是通过top查看系统进程并无过多占用内存 实际情况: 处理步骤: 1.执行sync命令; sync 2.执行释放内存命令: echo 3 > /proc/sys/vm/drop_caches 命令解释: sync 指令会将存于 buffer 中的资料强制写入硬盘中。 echo 1 > /proc/sys/vm/drop_caches:表示清除pagecache。 echo 2 > /proc/sys/vm/drop_caches:表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。 echo 3 > /proc/sys/vm/drop_caches:表示清除pagecache和slab分配器中的缓存对象。 来源: 51CTO 作者: 刘景宇 链接: https://blog.51cto.com/liujingyu/2448135

bat 批处理脚本

倖福魔咒の 提交于 2020-03-09 16:32:39
目录: 1:ping多个不同服务器IP 2:每隔一段时间清一次DNS缓存 3:将一个文件夹中的所有文件,分别保存在一个新文件夹中,以保持每个文件夹一个文件 功能1:ping多个不同服务器IP 环境开通防火墙后,经常需要对其他不同服务器进行网络连通测试。这时就需要ping多个不同服务器,这里简单列了一个windows下的批处理文件,简单做下备忘。 步骤: 1、在一个文件夹,先保存一个ping.txt的文件,存放不同机器的ip地址。 10.9.16.91 10.9.16.92 10.9.16.93 10.9.16.97 2、在相同文件夹,编写一个pingtest.cmd的程序文件,用于进行连通性测试。 格式如下: echo ------------lost connection ip list------------> err.txt @echo off for /f %%i in (ip.txt) do ( ping %%i -n 1 if errorlevel 1 echo %%i >>err.txt ) notepad err.txt 执行完成后,会将执行失败的IP存到err.txt文件中。 ------------lost connection ip list------------ 10.9.16.91 10.9.16.92 10.9.16.97 功能2