你不知道的PHP

array的key可以是Integer、string类型。其他类型的key会进行转化 包含有合法整型值的字符串会被转换为整型。例如键名 "8" 实际会被储存为 8。但是 "08" 则不会强制转换,因为其不是一个合法的十进制数值。 浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 8.7 实际会被储存为 8。 布尔值也会被转换成整型。即键名 true 实际会被储存为 1 而键名 false 会被储存为 0。 Null 会被转换为空字符串,即键名 null 实际会被储存为 ""。 数组和对象不能被用为键名。坚持这么做会导致警告

PHP
发布于 6年前

PHP库推荐:DOM分析phpQuery

phpQuery phpQuery是 PHP 服务端实现的处理Dom的一个开源库,让开发人员可以像使用jquery一样处理Dom。 坑 占用内存过大 phpQuery在每处理一个网页就会产生一个DOMDocumentWrapper对象,每个DOMDocumentWrapper 对象会被保存在静态成员$documents中(phpQuery::createDocumentWrapper中),这个变量是一个数组,每解析一个 网页数组元素就增加一个。 所以如果是在写cli运行的爬虫类的脚本,内存很快就会占用过大,严重的导致机器死机。 phpQuery::$documents[$wrapper-&g

PHP
发布于 6年前

Nginx日志配置推荐

推荐日志配置 log_format main 'remote_addr=[$remote_addr] http_x_forward=[$http_x_forwarded_for] time=[$time_local] request=[$request] ' 'status=[$status] byte=[$bytes_sent] elapsed=[$request_time] upstream_connect_time=[$upstream_connect_time] upstream_response_time=[$upstream_response_time] '

Nginx
发布于 6年前

浏览器报错 net::ERR_INCOMPLETE_CHUNKED_ENCODING

nginx服务器返回200但是浏览器报错 net::ERR_INCOMPLETE_CHUNKED_ENCODING 原因是nginx在获得后端服务器返回数据时,数据过大需要存在临时文件中,但是当前运行nginx用户,没有该文件的读写权限 导致的。 如何证实 可以查看nginx的日志,会有以下类似错误 2018/03/22 16:11:35 [crit] 9519#0: *339625 open() "/var/lib/nginx/tmp/fastcgi/5/02/0000000025" failed 很明显,nginx无法写/var/lib/nginx/tmp/fastcgi/5/02/000

Nginx
发布于 6年前

Linux命令xargs

介绍 xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。 xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。 xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。 xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。 xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。 之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了

Linux
发布于 6年前

Linux命令ssh

ssh介绍 SSH是一种网络协议,用于计算机之间的加密登录。 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。 命令参数 -1:强制使用ssh协议版本1; -2:强制使用ssh协议版本2; -4:强制使用IPv4地址; -6:强制使用IPv6地址; -A:开启认证代理连接转发功能; -a:关闭认证代理连接转发功能; -b:使用本机指定地址作为对应连接的源ip地址; -C:请求压缩所有数据; -F:指定ssh指令的配置文件; -f:后台执行ssh指令; -g:允许远程主机连接主机的转发端口; -i:指定身份文件;

Linux
发布于 6年前

Linux命令crond

crond介绍 crond是linux下周期性执行某项任务或等待处理某些事情的一个守护进程。 crond是系统默认安装切默认启动的服务。crond每分钟回去检查是否有要执行的任务,有就去执行。 linux下的任务调度分为两种,系统任务调度和用户任务调度。而配置调度任务的文件就叫做crontab文件. 系统任务调度 系统需要周期性执行的任务例如日志清理等,系统任务调度的crontab文件为/etc/crontab。 cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ 用户任

Linux
发布于 6年前

Centos配置软件源

Centos7修改软件源 这里以Centos7为例子,6同样的方法url里相应7修改为6即可 配置remi源 remi源依赖epel源,安装epel源 yum install epel-release 安装remi源 rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-7.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-remi 启用remi源 /etc/yum.repos.d/remi.repo,在[remi]下边的enabled=0改为enabled=1 同时也安装了各版本的php

Linux
发布于 6年前

linux删除了libc.so.6

不小心删除了libc.so.6 升级系统软件说依赖更高glibc库,然后升级过程中错误删除了libc.so.6。。导致所有的命令均无法执行。 例如执行ll,有如下提示 ll sh: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory libc.so.6介绍 glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。 sh bash这些都是依赖与glibc库的,所

Linux
发布于 6年前

Go 优秀文章收集

Go并发调度器解析之实现一个协程池 深入golang之---goroutine并发控制与通信 night-reading-go Go语言·听说你想让程序运行的更快? 年终盘点!2017年超有价值的Golang文章 飞雪无情的博客 鸟窝 Go 命令详解 goroutine 实现原理

go
发布于 6年前