|
|
使用htpasswd设置web密码
网页验证密码可以通过nginx的ngx_http_auth_basic_module
模块进行配置,但生产账号和密码则需要用到htpasswd这个工具
一、安装htpasswd
|
|
二、使用
htpasswd支持的参数如下:
-c
: 创建一个加密文件-n
: 不更新加密文件,只将htpasswd命令加密后的用户名密码显示在屏幕上-m
: 默认htpassswd命令采用MD5算法对密码进行加密-d
: htpassswd命令采用CRYPT算法对密码进行加密-p
: htpassswd命令不对密码进行进行加密,即明文密码-s
: htpassswd命令采用SHA算法对密码进行加密-b
: htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码-D
: 删除指定的用户
2.1 htpasswd密码配置
利用htpasswd命令添加用户: htpasswd -bc ./.passwd username pass
在原有密码文件中增加下一个用户: htpasswd -b ./.passwd onlyzq pass
利用 htpasswd 命令修改密码: htpasswd -D .passwd username
或指定密码 htpasswd -b .passwd username pass
用htpasswd命令删除用户名和密码: htpasswd -D .passwd username
2.2 在nginx中启用密码访问
|
|
Resilio Sync使用
一、安装
1.1 linux下安装rslsync
|
|
Linux文件操作命令之获取当前目录
readlink
readlink– help
用法:readlink【选项】… 文件输出符号链接值或权威文件名。
-f, --canonicalize
递归跟随给出文件名的所有符号链接以标准化,除最后一个外所有组件必须存在-e, -- canonicalize-existing
递归跟随给出文件名的所有符号链接以标准化,所有组件都必须存在-m, -- canonicalize-missing
递归跟随给出文件名的所有符号链接以标准化,但不对组件存在性作出要求-n, --nonewline
不输出尾随的新行-q; quiet,
-s, --silent
缩减大多数的错误消息-v, --verbose
报告所有错误消息--help
显示此帮助信息并退出--version
显示版本信息并退出
|
|
PHP CURL使用
|
|
参考
PHP INI配置
ini_set相关
配置时区
- 配置文件:
date.timezone = Asia/Shanghai
- php文件中配置:
date_default_timezone_set('Asia/Shanghai');
和ini_set('date.timezone','Asia/Shanghai');
;
Awesome PHP
操作类
DB操作类
网络工具
开源系统
Awesome API
Linux之文件查找find
一、find基础说明
find [dir] [param] [match]
-print0
: 不换行输出内容,也可以理解\0 是定界符
二、find使用
2.1 使用文件名查找文件
|
|
2.2 使用mindepth
和maxdepth
限定搜索指定目录的深度
|
|
2.3 在find命令查找到的文件上执行命令
// 搜索后 {}将会被当前文件名取代
find -iname “MyCProgram.c” -exec md5sum {} \;
2.4 相反匹配
find -maxdepth 1 -not -iname “MyCProgram.c”
2.5 使用inode编号查找文件
列子:
|
|
2.6 根据文件权限查找文件
找到当前目录下对同组用户具有读权限的文件,忽略该文件的其他权限
find . -perm -g=r -type f -exec ls -l {} \;
找到对组用户具有只读权限的文件
find . -perm g=r -type f -exec ls -l {} \;
找到对组用户具有只读权限的文件(使用八进制权限形式)
find . -perm 040 -type f -exec ls -l {} \;
2.7 找到home目录及子目录下所有的空文件(0字节文件)
|
|
2.8 按照文件大小进行查找
|
|
2.9 按照文件类型进行查找
|
|
2.10 通过和其他文件比较修改时间查找文件
显示在指定文件之后做出修改的文件。下面的find命令将显示所有的在ordinary_file之后创建修改的文件。
|
|
2.11 给常用find操作取别名
若你发现有些东西很有用,你可以给他取别名。并且在任何你希望的地方执行。
常用的删除a.out文件。
alias rmao=”find . -iname a.out -exec rm {} \;”
rmao
删除c程序产生的core文件。
alias rmc=”find . -iname core -exec rm {} \;”
rmc
2.12 用find命令删除大型打包文件
find / -type f -name .zip -size +100M -exec rm -i {} \;”
//用别名rm100m删除所有大雨100M的.tar文件
alias rm100m=”find / -type f -name *.tar -size +100M -exec rm -i {} \;”
alias svnadmin=”/usr/local/subversion/bin/svnadmin”
2.13 查找某个字符串在目录下出现次数
|
|
是你要找的文件夹;如果是当前文件夹可以省略-type f 说明,只找文件-name “*.c” 表示只找C语言写的代码,从而避免去查binary;也可以不写,表示找所有文件 是你要找的某个字符串
2.14 [重要]删除空文件或者目录
删除空目录:
find . -type d -empty | xargs -n 1 rm -rf
删除空文件:
find . -name “*” -type f -size 0c | xargs -n 1 rm -f
参考文档
读书《PHP实战》
Preview
Content
第一部分:工具和概念
第一部分中的几章循序渐进,从 PHP 面向对象编程的具体细节讲到面向对象应用程序设计这个更抽象的主题。
- 第 1 章介绍并讨论了 PHP 和敏捷实践的利弊。
- 第 2 章和第 3 章解释 PHP 面向对象编程的机制和语法。尽管对象和类是难以分割的东西,但是第 2 章主要关注对象的特性,而第 3 章则重点关注类。
- 第 4 章讨论了对象和类的概念好在哪里,它们如何与现实世界产生联系,以及如何区分面向对象设计的优劣。
- 第 5 章讨论最基本的类的关系一继承、关联和组合,以及程序设计中接口的作用。
- 第 6 章开始我们正式探索面向对象设计,将面向对象理论作为设计的指导思想。
- 第 7 章介绍设计模式再现常见设计问题的解决方案,并且描述一些最常见的问题。
- 第 8 章介绍设计原则和模式在处理日期和时间时的另一种应用。
第一部分 工具和概念
第1章 PHP与现代软件开发
1.1
作者写这本书时是php5.3版本,而现在php版本已经到7.2了,所以里面有不少东西是“过时”的,最大的特点是他在描述php的优点和缺点时,更加凸显出php社区变化之快。至少现在看,里面有不少观点是不可苟同的了。对于此我这边来整理下我所理解的PHP缺点:
- 缺少类型安全
由于php的松散类型,导致了php写程序的时候要做很多安全的判断,不然就当韭菜了,典型的一个例子如, 在编程的时候不应该使用如下的这段代码:123if(intval($a)>1000) {mysql_query("select * from news where id=".$a)}
这个时候$a
的值有可能是1002 union…
..
不像c、java那样需要严格定义好类型的php,注定写代码的时候多留点心眼咯!
另外有其他缺点补充的欢迎评论区说明!
1.2
先引用问中的一段话把:
本节将简略介绍敏捷开发[^xp]和面向对象设计中最重要的思想。我们将介绍设计模式、重构和单元测试,了解它们的工作原理以及如何互相配合,并能开始看到如何在 PHP 中实现它们。
虽然有点不太通顺,但这句话感动了我,让我有看下去的冲动了!作者先是权衡了【敏捷开发】和 普通开发的思路,但这些都不是最解决问题的理想方法。他承诺了一句: 我们开出的成功处方是将最佳方法与最好的软件工具相结合,而在我们看来,最好的软件工具就是 PHP。下面我们看一下 PHP 5 是如何与方法论联系起来的。
。好,让我们拭目以待!
敏捷开发的一些基本元素之间的彼此依赖关系如下:
ch1相关参考
第2章 PHP中的对象
[^xp]敏捷方法论【如极限编程(Extreme Programming, XP)】尝试着用这样的方式来解决这个问题:只进行较少的前期设计,确保一直能够对设计进行更改,并使用重构(refactoring)这样一套系统的过程来不断改善代码的结构。
[^TDD]TDD(test-driven development,测试驱动开发)或测试先行开发(test-first develop- pment)