PHP---总结知识点

1、从git仓库往下拉项目是

【 git clone git@github.com:yang-wen-long/team.git shop】

2、上传到git仓库

添加公钥
一.创建公钥
   【 ssh-keygen 】
二.初始化
     【git init】
三.打开配置项
     【vim .git/config】
四.在项目里添加用户:
         	    【	[user]
    		name=yangwenlong
    		email=2382662404@qq.com
      】
五.添加文件
    【git add .】
六.提交代码
     【git commit -m "内容"】
七.将代码提交到远程仓库
      在github中创建空仓库: 参考 【https://docs.qq.com/doc/DWkxmcVdYdW1ZaGRt】创建成功后会得到一个空仓库地址

Nginx

进程管理 启动 /usr/local/nginx/sbin/nginx 停止 /usr/local/nginx/sbin/nginx
-s stop 重启 /usr/local/nginx/sbin/nginx -s reload 测试配置 nginx -t

Nginx配置文件 主配置文件: conf/nginx.conf 子配置文件:conf/vhost/xxx.conf

Nginx虚拟主机配置

修改windows hosts文件,添加一行记录
x.x.x.x 2020.com # x.x.x.x为LinuxIP 2020.com为项目域名
修改 Linux中Nginx配置文件(在/usr/local/nginx/conf/vhost目录中新建 2020.conf文件)

3、2020.com 域名配置

server { listen 80; server_name xxx.com; # 项目域名
access_log logs/xxx.access.log; #访问日志
error_log logs/xxx.error.log; #错误日志
root /home/wwwroot/xxx; # 项目目录
index index.php index.html index.htm;

location / {
try_files $ uri $ uri/ /index.php?$query_string; # 重写 }

location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index
index.php; fastcgi_param SCRIPT_FILENAME
$ document_root $ fastcgi_script_name; fastcgi_param PHP_VALUE
open_basedir=$document_root/…/:/tmp/:/proc/; include
fastcgi_params; } }

4、PHP

PHP的运行模式 命令行模式 FastCgi模式: PHP-FPM

PHP-FPM进程管理 查看进程 ps aux | grep php-fpm 启动 /usr/local/php/sbin/php-fpm
停止 kill -QUIT xxx(主进程ID) 重启 kill -USR2 xxx(主进程ID)

5、VIM配置

vim /etc/vim/vimrc 最后加 两行 set nu set ts=4

6、环境变量 PATH

echo $PATH 以冒号分割的路径(目录), PATH的作用:用户输入的命令首先会在 $PATH中的路径中查找,找不到则会报错。
修改PATH 》vim /etc/profile 添加一行:PATH= $ PATH:/xx/xx/xx:/yy/yy/yy:/zz/zz/zz
//xxx为程序所在的路径,一般为bin 或 sbin 生效:(两种方法) 退出重新登录 或者 source /etc/profile

注意:环境变量修改错误,会导致大部分命令不可用,可通过制定程序路径解决。 如,vim命令找不到,可通过绝对路径 /usr/bin/vim
如图:

7、文件传输

ftp :文件传输协议 ftp软件 scp : 上传:scp a.txt
zhangsan@123.123.123.123:/home/zhangsan 下载:scp
zhangsan@123.123.123.123:/home/zhangsan/xxx.txt ./

windows向Linux中传输文件,在git bash中使用scp

8、下载redis

【wget http://pecl.php.net/get/redis-5.2.2.tgz】
2.解压redis 【 tar xvf redis-5.2.2.tgz】
3.检查redis 【phpize】
4.编译reids 【./configure】
5.下载redis的扩展 【make && make install】
6.到php里查看是否下载好了redis扩展 【cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/】
7.修改php.ini配置文件 【在最后一行添加上redis.so】

9、下载php扩展fileinfo.so可参考网站上边的代码

【 https://www.cnblogs.com/Json159/p/11384151.html 【
https://www.php.net/downloads 一般下载这个 【
wget https://www.php.net/distributions/php-7.3.20.tar.gz 】 解压用 【
tar xvf php-7.3.20.tar.gz 】 】 】

1.找到php的安装包(事例) 【ezhttp-master】
2.到php的扩展下边(事例) 【soft/php-7.3.5/ext/fileinfo】
3.执行安装fileinfo扩展命令(事例) 俩种方法: 【./configure】 【./configure --with-php-config=/usr/local/php/bin/php-config】
3.用命令下载扩展 【make && make install】
4.在php.ini中添加 【extension=fileinfo.so】
5.重启php.ini 【/bin/systemctl restart php-fpm.service】
【重启php的一种方法
ps aux | grep php
kill -QUIT 号
/usr/local/php/sbin/php-fpm

6.重启nginx的方法 【 /bin/systemctl restart nginx.service 】
7.重启mysql的方法 【 /bin/systemctl restart mysqld.service 】
8.查看是否启动 【 ps aux |grep nginx 】

10、文件共享服务软件 samba 安装与配置

安装了samba服务的主机,可以将文件共享给其它用户,其它用户可以对文件进行读写操作。 安装 以Ubuntu Linux为例 1、 安装
【 apt install samba -y 】

2、 检查是否安装成功
启动 samba服务: 【service ambd start】 查看samba服务状态: 【service ambd status】

3、 添加用户 添加的用户名为 登录系统时用的普通用户,此处设置的密码为 123456abc (测试环境,密码可以设置简单一些)
【smbpasswd -a 用户名】 【设置密码】

4、 修改配置文件,设置共享目录 编辑配置文件 【vim /etc/samba/smbd.conf
】(修改前先备份此文件),添加如下内容:

[wwwroot] comment = wwwroot path = /wwwroot 【项目目录】 browseable =
yes guest ok = no valid users = dante 【用户名】 writable = yes

配置项解释: path = /wwwroot /wwwroot是linux中被共享的目录 valid users = xxx
xxx为第3步中添加的用户名

5、 重启 samba服务 【service ambd restart 】

6、 在Windows中访问共享
[+]+r 使用第3步的用户名和密码

点击确定后,如果一切正常会看到如下显示:

可以点开文件夹,至此,便可在Windows中访问Linux中的文件(删除 修改)。

11、安装linux上边LNMP环境方式:

ezhttp:
https://www.centos.bz/2017/02/ezhttp/
https://www.centos.bz/2017/02/ezhttp-lamp-lnmp-lanmp-nginx-php-mysql/
oneinstack:
https://oneinstack.com/auto/
lnmp:
https://lnmp.org/install.html

12、修改主机名

hostname //显示当前主机名
vim /etc/cloud/cloud.cfg preserve_hostname: true
vim /etc/hostname //修改主机名 VM-API-1910
vim /etc/hosts
127.0.0.1 VM-API-1910

13、创建普通用户

adduser zhangsan #普通用户名
passwd zhangsan #普通用户密码

14查看Linux版本:

cat /etc/issue
lsb_release -a

15、Linux源

执行 apt update 或 apt install 时,网络慢,可以通过修改源解决。
默认使用的官方源(国外),国内访问经常会出问题,可以换成国内的源,比如阿里云的源。 1、 确认使用的Linux版本 2、 找到对应版本的源
更换方法: ubuntu: https://developer.aliyun.com/mirror/ubuntu centos:
https://developer.aliyun.com/mirror/centos

16、修改Linux时区

date // 显示当前时间

17、下载:Composer

1、官方网站: https://getcomposer.org/
wget 下载
2、wget https://getcomposer.org/download/1.10.7/composer.phar
3、重命名 composer.phar 为 composer ,并赋予 可执行权限
4、将composer 放置 /bin 目录
配置 composer 国内镜像 (使用阿里云composer镜像)
5、composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

一、使用composer下载框架前,
修改PHP配置文件 php.ini (/usr/local/php/etc/php.ini)
在disable_functions中删除 proc_close,proc_open(如果有),重启PHP-FPM
安装 Laravel
官方网站:https://laravel.com/
下载框架
composer create-project --prefer-dist laravel/laravel xxx “6.*” -vvv

18、CentOS下修改密码,系统版本CentOS 7.2

一、在知道root密码的情况下修改root密码

1、先登录mysql
mysql -uroot -p123
2、查看所有用户
使用shell命令MySQL -uroot -p
mysql> use mysql;
select user,host from mysql.user;
3、然后用SET PASSWORD命令修改密码
set password for root@localhost = password(‘123456’); #本地登录密码
set password for root@’%’ = password(‘123456’); #远程登录密码
注:如果出现Your password does not satisfy之类的密码太简单导致密码安全问题,
4、需要设置一下密码长度和密码安全等级
set global validate_password_length=1;
set global validate_password_policy=0;
5、通过修改user表修改密码,用UPDATE直接编辑user表 ,首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password(‘123’) where user=‘root’ and host=‘localhost’;
mysql> flush privileges;

二、忘记MySQL的root密码

mysql 版本信息 另外打开会话

修改密码,刷新权限
mysql>use mysql;
mysql>update user set password=password(‘123123’) where user=‘root’ and host=‘localhost’;
mysql>flush privileges;
结束mysql_safe进程
查看mysql_safe进程id
ps -ef kill -9 14400 #自己先查询
正常启动mysql
使用root@localhost登录
mysql>use mysql;
mysql>set password for root@’%’=password(‘123123’) ;
注意:MySQL 5.7中密码
use mysql;
update user set authentication_string=password(‘root’) where user=‘root’; flush
privileges ; (MySQL 5.7中密码是authentication_string字段)
在无密码root登录也可以 修改配置文件,在[mysqld]的段加入skip-grant-tables,使用无密码登录 vim
/etc/my.cnf
启动MySQL
systemctl start mysqld
用mysql命令直接登录root mysql

19、Linux

重启: reboot | shutdown -r now
关机:halt | shutdown -h now
free -h //查看内存
df -h //查看磁盘
查看进程
【ps aux | grep 名字】
重启进程
【kill -USR2 编码】
停止进程
【 kill -quit 编码】
快速停止
【kill -term 编码】
强制停止
【kill -9 nginx】
git远程仓库
【https://github.com/new】
创建公钥
【ssh-keygen】

20、MySQL

常用命令:
登录 mysql -hx.x.x.x -uxxx -p
显示当前用户数据库 show databases
切换数据库 use xxx
显示库中的表 show tables
查看表结构 show create table xxx xxx 创建数据库
create database xxx
删除数据库 drop database xxx
导出数据库 mysqldump -uxxx -p shop > shop.sql
导入数据库 source(进入mysql后使用)
MySQL用户管理:
查看用户: select user,host from mysql.user;
删除用户: drop user ‘zhangsan’@‘xxxx’; // xxx为 host
修改 root 密码(5.7):
登录mysql
依次执行命令 update mysql.user set authentication_string=password(‘123456abc’) where user=‘root’;
flush privileges;
修改用户允许登录的主机
update mysql.user set host=’%’ where user=‘xxxx’;
flush privileges;
修改成功后,xxxx用户可以在任意主机登录mysql

21、redis用法:

官方网站: redis.io
命令列表: 官网 https://redis.io/commands
中文:http://www.redis.cn/commands.html
Redis常用命令:
monitor //监控命令的执行
keys * //查看当前库中的 key keys xxx* keys * xxx keys xxx
select n //切换到 n 号数据库
del k2 // 删除 k2
flushdb // 清空当前数据库
flushall // 清空所有数据库
expire k2 n // 设置k2有效时间为 n秒 ttl
k2 //查看 k2的有效时间
字符串命令:
set k get k incr k// k 自增 1
incrby k x // k 自增 x
decr k // k 自减 1
decrby x // k 自减 x
strlen k // 获取 k 中保存的值的字符长度
HASH(哈希)
hset k1 field1 val1 // set 一个字段的值
hget k1 field2 // 获取hash中的一个字段的值
hmset k1 field1 val1 field2 val2 … // 设置多个字段 hmget k1
field1 field2 … // 获取 hash中的多个字段值
hgetall k1 //获取 k1 中所有字段的值 hkeys
k1 //获取k1 中所有的字段名
hlen k1 // 获取k1 中字段的个数
hexists k1 fieldx //检查hash中是否存在某个字段
hincrby k1 field2 x // 自增 field2字段的值

Lists(列表)
lpush //左边入队
rpush //右边入队
lrange k 0 -1 // 获取列表所有元素
llen k //获取列表元素个数
Sets(集合) sadd xxx member1 // 向 集合 xxx 中添加成员 member1
smembers xxx //获取集合中所有元素
scard xxx //获取集合中元素个数
sismember xxx member1 // 检查 集合xxx中是否存在 member1
spop xxx n // 随机取出集合xxx中 n个元素
srem xxx a b // 在集合 xxx 中 删除指定的元素 a b

Sorted Sets(有序集合)
zadd xxx n m1 // 向有序集合 xxx中添加 分数为 n的 元素 m1
zcard xxx //查看 有序集合 xxx中的元素个数
zrange xxx 0 -1 [withsocres] //查看有序集合中所有元素[及分数]
zincrby xxx n m1 // 自增 xxx中 元素 m1的分数值
zpopmax xxx // pop出分数最高的元素
zpopmin xxx // pop出分数最小的元素
zrank xxx m1 //检测一个元素是否存在于有序集合中
zrem xxx m2 //在有序集合中删除 m2
zsocre xxx m3 //获取有序集合中元素 m3的分数

22、zip压缩文件

zip -r 修改以后的文件名 要压缩的文件名

23、laravel用cmd创建

1.创建控制器的方法:
(php artisan make:controller PostController --resource)
2.创建Model的方法
(php artisan make:model Flight --migration)
3.创建页面验证的方法
(php artisan make:request StoreBlogPost)
在这个里边写【
public function rules(){ return [ "admin_name"=>"required|unique:curd|max:18|regex:/^[\x7f-\xff]{2,}[0-9a-zA-Z]{1,}$/", "admin_mobile"=>"required"; ]; } public function messages(){ return[ 'admin_name.required' => '用户名不能为空', ]; }

4.创建公共的方法
(composer dump-auto)
【//laravel创建公共方法 在app下边创建文件,再到public中的index.php中在24下边添加 require
DIR.’/…/vendor/autoload.php’; //路劲 require DIR.’/…/app/Helpers/function.php’; 】
5.创建监听sql
(php artisan make:listener QueryListener --event=Illuminate\Database\Events\QueryExecuted)
6.创建注册中间件
(php artisan make:middleware CheckToken)

24、二进制源码

一、原码 基本数字转化为二进制
5 = 00000101 -5= 10000101
6 = 00000110 -6=10000110
反码[正整数不变,负数反码取反]
5 = 00000101 -5 = 11111010
6 = 00000110 -6 = 10000011
补码[正整数不变,负数反码加1]
5 = 00000101 -5 = 11111011
6 = 00000110 -6 = 10000110

二、位预算符
"&"位运算符
都为1 结果为1
5 & 2 = 00000101 & 00000010 = 00000000 = 0

	 00000101
&	 00000010
--------------------
     00000000

只有两个1相同才能为1

三、"|"运算符 两位有一个为1,结果为1
5 | 2 = 00000101 & 00000010 = 00000111 = 7

	00000101
|	00000010
-----------------
	00000111

四、按位异或"^" 两位一个为0,一个为1,结果为1
5 ^ 2= 00000101 & 00000010 = 00000111 = 7

	00000101
^	00000010
-----------------
	00000111

五、 按位取反~:0变成1,1变成0

~5=00000101 = =-6

00000101
~11111010


六、>>:算术右移
5>>2 = 00000101 = 000001 = 1
5<<2 =00000101 = 00010100 = 20

上边内容仅供参考,希望对你有帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值