2016年10月

诡异的session_start超时

使用fsocketopen 和 curl 带上 'cookie:PHPSESSID=xxx' 时候, 程序在session_start之后就一致卡住了, 直到nginx返回504错误, 但可以确定的时候, 程序之后往下执行了, 所以php-fpm没有挂掉。

这是为什么呢?? 有人遇到过这种情况么?

=====2016.10.19更新=====

终于找到问题了,带上的PHPSESSID是通过session_id()获取的, 之后需要立即调用session_write_close(),典型的session阻塞问题!!!

Linux 系统的顶层目录结构

/ 根目录
├── bin 存放用户二进制文件
├── boot 存放内核引导配置文件
├── dev 存放设备文件
├── etc 存放系统配置文件
├── home 用户主目录
├── lib 动态共享库
├── lost+found 文件系统恢复时的恢复文件
├── media 可卸载存储介质挂载点
├── mnt 文件系统临时挂载点
├── opt 附加的应用程序包
├── proc 系统内存的映射目录,提供内核与进程信息
├── root root 用户主目录
├── sbin 存放系统二进制文件
├── srv 存放服务相关数据
├── sys sys 虚拟文件系统挂载点
├── tmp 存放临时文件
├── usr 存放用户应用程序
└── var 存放邮件、系统日志等变化文件

多密钥切换登录ssh

window/linux下, 添加多个密钥到同个用户下, 用户如何切换密钥登录ssh呢?

具体如何创建密钥就不多说了。

多个密钥之间切换关键在于编写 '用户家目录/.ssh/config'文件:

比如, config文件如下:

Host github # 别名
    HostName github.com # 连接对方主机域名或ip地址
    Port 22 # 端口,有时候默认端口不是22的时候指定
    user git # 连接对方主机的用户名
    IdentityFile C:/Users/User/.ssh/github_rsa # 填写你的密钥地址,默认是使用~/.ssh/id_rsa

写入config文件后, 可以使用别名测试ssh链接是否正常 : ssh -T 别名 ( ssh -T github ),

其他情况使用别名, 比如git克隆 : git clone 别名:仓库路径 (相当于 git clone git@github.com:/path/to/repository/xxx.git)

如果依然提示失败, 尝试使用 'ssh-add 密钥地址', 添加密钥到ssh-agent