windows下iis7卡死关闭进程php-cgi命令

今天不知道为什么有台windows服务器卡死,无法重启iis,大量 php-cgi.exe进程,手动关闭台变态了,这时候需要借助系统命令了:

cmd下执行批量删除:taskkill /F /IM php-cgi.exe 

也可以删除单个:taskkill /pid 123 -t -f;

附带命令参数:

/S system 指定要连接的远程系统。
/U [domain\]user 指定应该在哪个用户上下文执行这个命令。
/P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。
/FI filter 应用筛选器以选择一组任务。允许使用 “*”。例如,映像名称 eq acme*
/PID processid 指定要终止的进程的 PID。使用 TaskList 取得 PID。
/IM imagename 指定要终止的进程的映像名称。通配符 ‘*’可用来指定所有任务或映像名称。
/T 终止指定的进程和由它启用的子进程。
/F 指定强制终止进程。

/? 显示帮助消息。

发表在 服务器 | 标签为 , | 留下评论

说说js函数function后面的括号和前面的感叹号、分号

先说说分号,简单说就是为了与前面的代码隔开,javascript可以用换行分隔代码,但是合并压缩多个js文件之后,换行符一般会被删掉,所以连在一起可能会出错,加上分号就保险了。

至于前面的感叹号和后面的括号都来自于匿名函数,简单说前面感叹号就是为了立刻执行匿名函数,而后面的括号它可以解释成为“匿名函数自调用”,传送的参数可以多个数字、函数等,括号有多少个函数,自调用就会有多少次。

// 这么写会报错,因为这是一个函数定义:
function() {}()

// 常见的(多了一对括号),调用匿名函数:
(function() {})()

// 但在前面加上一个布尔运算符(只多了一个感叹号),就是表达式了,将执行后面的代码,也就合法实现调用
!function() {}()
前面的!号可以换成-+~等等一元操作符,从而省下了1字节。

发表在 服务器 | 标签为 | 留下评论

phalcon model新增或更新自动检测required必填

phalcon默认就会打开字段是否为空的检测,如下解决:

一、把数据库字段设置为可以为空。

二、给可以为空的字段设置默认值。

public function skipValidation($skipers=[])
    {
        foreach ($skipers as $skiper) {
            if (empty($this->$skiper)) {
                $this->$skiper = new \Phalcon\Db\RawValue('""');
            }
        }   
    }
public function beforeValidation()
{
     $this->skipValidation(['tag','source_url']);
}

三、关闭phalcon对字段是否为空的判断

public function initialize(){

    $this->setup(
        array('notNullValidations'=>false)
    );

  }
发表在 服务器 | 标签为 | 留下评论

淘宝入手一个二手威刚SP600 32G给台老电脑升级

为了一台老掉牙的电脑,就办公使用,ddr2 800 4G安装个win7j 加个32g固态启动速度快些。

二手威刚SP600 32G自取93元。

这盘上市也有些年头了,怀疑也掉速了,测试是没有坏磁道的。

sata2和sata3下测试相差一倍,看来接口很重要。将就用,毕竟4k还是比普通的机械硬盘强不少。windows7启动时间在20-30秒之间。安装完系统后还剩下一半空间。

外观有少许磨损。

二手怀疑里面到底是不是还是原装货呢?

sata2下主板太老了G41不支持ACHI,结果速度无语。。。还是比机械好!!!自我安慰

sata3下速度就还好了!!!

发表在 生活 | 标签为 | 留下评论

Nginx禁止未绑定域名或IP访问

该怎么防止别人的域名能访问我们的网站呢,nginx下关闭空主机头:
在所有server之前添加一下配置:以下红色部分根据需要选择其中一种方式处理即可。

 server{
  listen 80 default;
  server_name _; ##标示空主机头
     rewrite ^(.*) http://www.netpc.com.cn; ##将流量引到自己的网站
     return 500; ##返回500或304
 }
发表在 服务器 | 标签为 | 留下评论

yii2打开gii工具的方法

入口文件index.php

defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');

在配置config文件夹的web.php或main.php、main-local.php文件中包含以下内容

if (!YII_ENV_TEST) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = [
        'class' => 'yii\debug\Module',
    ];
    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
    ];
}

如果开启了url美化,访问地址会产生变化

'urlManager' => [
    'enablePrettyUrl'     => true,
    'showScriptName'      => false,
    'enableStrictParsing' => false,
    'rules' => [
    ],
],

访问地址:

http://localhost/gii
http://localhost/index?r=gii
发表在 服务器 | 标签为 | 留下评论

微信小程序中文乱码转换编码

今天刚接触下微信小程序试试,发现用接口获取新闻列表,原先中文进行了编码转换,在pc浏览器上会自动转换显示,到小程序不会了,这时候必须自己手动转码了,看下面红色部分:

Page({
 data: {
 logs: []
 },
 onLoad: function () {
 var that = this//不要漏了这句,很重要
wx.request({
 url: 'http://www.netpc.com.cn/api/getNewsList',
 headers: {
 'Content-Type': 'application/json',
 },
 success: function (res) {
 //console.log(res.data);
 //接口获取数据后如果有中文编码必须使用decodeURI或decodeURIComponent解码
  var query_clone = JSON.parse(decodeURIComponent(JSON.stringify(res.data)));
 //console.log(query_clone);
 //将获取到的json数据,存在名字叫zhihu的这个数组中
 that.setData({
 news: query_clone,
})
 }
 })
 }
})
发表在 服务器 | 标签为 , | 一条评论

Chrome安装crx插件提示:无法添加来自此网站的应用、扩展程序和应用脚本

官方出于安全考虑,最新Chrome版本开始默认只允许从 Chrome Web Store 下载安装扩展程序。
解决方法如下:
  1. 浏览器打开 chrome://extensions/ 地址
  2. 直接将下载好的Chrome应用*.crx或者脚本**.js文件拖到扩展程序界面就好了。
发表在 服务器 | 标签为 | 留下评论

微信开发config:invalid url domain

当遇到config:invalid url domain 有2种可能

1.没有配置url。

2.url配置错误。记住不要带http://或https://直接域名就可以了,如:www.netpc.com.cn

发表在 软件 | 标签为 | 留下评论

微信开发config:invalid signature

JS-SDK使用权限签名算法

在获取jsapi_ticket的时候出现签名错误config:invalid signature

签名算法

签名生成规则如下:参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义。

即signature=sha1(string1)。 示例:

noncestr=Wm3WZYTPz0wzccnW

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg

timestamp=1414587457

url=http://mp.weixin.qq.com?params=value

步骤1. 对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1:

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=1414587457&url=http://mp.weixin.qq.com?params=value

步骤2. 对string1进行sha1签名,得到signature:

0f9de62fce790f9a083d5c99e95740ceb90c27ed

注意事项

1.签名用的noncestr和timestamp必须与wx.config中的nonceStr和timestamp相同。

2.签名用的url必须是调用JS接口页面的完整URL。

3.出于安全考虑,开发者必须在服务器端实现签名的逻辑。

如出现invalid signature 等错误详见附录5常见错误及解决办法。

最后发现是jsapi_ticket参数没有传送进函数。

发表在 服务器 | 标签为 | 留下评论