原关于nginx的last-modified及强制打开last-modified的方法
nginx如果打开了SSI模块,会默认关闭header中的last-modified输出:如
ssi on;
ssi_silent_errors on;
ssi_types text/shtml;
解决方法:加上下面这句就好了
ssi_last_modified on; #一定要加上这句,就不会返回 ETag 及Last-Modified 头了
…
记录-交流-Web开发知识分享
nginx如果打开了SSI模块,会默认关闭header中的last-modified输出:如
ssi on;
ssi_silent_errors on;
ssi_types text/shtml;
解决方法:加上下面这句就好了
ssi_last_modified on; #一定要加上这句,就不会返回 ETag 及Last-Modified 头了
…
由PHP7.0.18的一个更新Fixed bug #74216引发的问题
PHP修复了一个关于Streams的安全问题:
Fixed bug #74216 (Correctly fail on invalid IP address ports). https://bugs.php.net/bug.php?id=74216
由此,可能会导致一些不兼容的问题。…
centos7 安装php7 ssh2扩展
1. download the libssh2 package from http://libssh2.org, command as following:
tar vxzf libssh2-1.4.2.tar.gz
cd libssh2-1.4.2
./configure
make
make install…
<?php
class NPDO {
private $pdo;
private $params;
public function __construct() {
$this->params = func_get_args();
$this->init();
}
public function __call($name, array $args) {
try {
return call_user_func_array(array($this->pdo, $name), $args);
} catch (PDOException $e) {
}
}
public function ping() {
… PHP的回调机制,是通过使用 call_user_func(call_user_func_array)实现的。回调函数可以很好地将一些功能从核心功能剥离开。
回调机制类似于一种通知机制,在异步编程中经常用到。 就是 我让你做一件事情,你做好了,通过我提供的接口通知我。
代码如下。…
<?php
//php socket 客户端编程
// 建立一个socket并连接
//选项 SO_REUSEADDR¦SO_REUSEPORT¦TCP_NODELAY¦SO_RCVTIMEO¦SO_SNDTIMEO
//SO_REUSEPORT 端口重用 linux kernel >3.9
//SO_RCVTIMEO 接收数据超时
//SO_SNDTIMEO发送数据超时
//设置socket选项
//$host = "34.56.33.33";
$host = "192.168.6.156";
$port = "1883";
$timeout = 2; //连接超时/秒
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
//连接 超时处理
socket_set_nonblock($socket);
$time =
… 六种网络应用架构模式
六种网络应用架构模式,以socket编程为例讲解。
处理请求的串行化模型。
在串行化架构中,所有的客户端连接是依次进行处理的,因为不涉及并发,多个客户端不会同时接受服务。
串行化架构最大的优势在于它的简单性。没有锁,没有共享状态,处理完一个连接之后才能处理另一个。在资源使用方面亦是如此:一个实例处理一个连接,一个萝卜一个坑,绝不多消耗资源。
串行化架构明显的劣势是不能并发操作。即便是当前连接处于空闲,也不能处理等待的连接。…
PHP处理json的注意点:代码说明:
<?php
$json=json_encode($messagebody,JSON_UNESCAPED_UNICODE);//把数据转换成json格式时要加
JSON_UNESCAPED_UNICODE参数,不要把中文转换成 unicode
$data =file_get_contents('php://input', 'r');
$data=ltrim($data,"\XEF\XBB\XBF");//去bom
$json=json_decode($data,false,512,JSON_BIGINT_AS_STRING); //解析json时,记得加
JSON_BIGINT_AS_STRING参数,把大数字转为字符串,防止传入大的数字而解析不完整。
if (json_last_error() === JSON_ERROR_NONE) { //json格式检查
//没错误可以继续了
} else {
//不是一个json格式,记录错误日志
$mmsg=json_last_error_msg();
error_log('not a json:'.$mmsg."\n".$data."\n",3,'errorjson.log');
}
…
一、客户端 连接冲突会发现以下报错 (开启 debug日志:把配置文件 的log.console.level 改为= debug)
11:20:55.849 [info] Session(060010100000868936): resumed by <0.21232.18>^M^M
11:20:55.849 [warning] Session(060010100000868936): <0.21232.18> kickout <0.31200.17>^M^M
11:20:55.849 [warning] Client(27.187.80.148:9093): clientid '060010100000868936' conflict with <0.21232.18>^M^M…
近期评论