Write the Code. Change the World.

7月 01

前言

如果仅仅下载nginx,解压,运行nginx,是没啥错误,当使用 winsw 设置 nginx自启动 时,或配置修改了 conf,通常会出现各种错误。

错误列表

(一)

D:\service\wnmp\nginx>nginx -s reload

nginx: [error] OpenEvent("Global\ngx_reload_2128") failed (5: Access is denied)

阅读全文 >>

7月 01

前言

既然,使用 wnmp 。没有图形界面,所有配置都需要手动设置,改变。做的站点也不止一个,如果所有站点的配置都写在一个conf文件中,看起来有点臃肿。对每个站点,进行单独配置比较有必要。

阅读全文 >>

7月 01

下载

目前,php7的稳定的版本是7.1.6。根据系统的不同,所下载的文件有所不同。给php提供了两种版本的:线程安全和非线程安全的。

  • TS :Thread Safe 线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。
  • NTS:Non Thread Safe 非线程安全, 在执行时不进行线程(Thread)安全检查

而选择线程安全还是非线程安全的php,通常由php的执行方式决定的。php有两种执行方式,ISAPIFastCGI

阅读全文 >>

6月 30

现象

在给网址做 登录注册 功能时,通常会用到ajax。因为它不会刷新页面,给用户的体验很好。但会影响另外一个比较好的体验:浏览器不会弹出记住账号密码。

eg:


<div class="log-bodies"> <row> <span>账号</span> <input id="account" type="text" placeholder="请输入账号"> </row> <row> <span>密码</span> <input id="password" type="password" placeholder="请输入密码"> </row> <button class="log-btn">登录</button> </div $(".log-btn").click(function{ //do ajax post });

阅读全文 >>

6月 28

问题

默认状态下,php是不写日志信息的。php报错,在服务器上不会留下记录。可以通过 phpinfo() 来看其日志信息写入功能是否打开。如下图,是没打开的状态。

打开error_log功能

编辑 php.ini,找到error_log,将后边的日志路径加上去,并将前边的分号去掉。保存,重启php。如下:

;error_log = /data/server/php/etc/log/php_errors.log

执行下边命令:

vi /data/server/php/etc/php.ini
/etc/init.d/php-fpm restart
mkdir -p /data/server/php/etc/log   #创建文件夹
chmod 777 /data/server/php/etc/log   #给写入的权限

修改重启后,再看 phpinfo()。如下图。

如果,还没达到预期的结果。可以在看看 php.ini中,log_errors的功能是否on了。

阅读全文 >>

6月 28

前言

composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。composer 不是一个包管理器。它在每个项目的基础上进行管理,在你项目的某个目录中进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

composer 将这样为你解决问题:

  1. 你有一个项目依赖于若干个库。
  2. 其中一些库依赖于其他库。

  3. 你声明你所依赖的东西。

  4. composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

今天使用php7下的mongodb的扩展。不仅要安装mongodb和mongodb php扩展,还要安装mongodb php的类库。而这个类库,需要用composer来安装。于是,就要先学习composer的安装和用法了。

阅读全文 >>

6月 28

前言

在安装mongodb php扩展之前,请先安装 mongodb。

下载安装

php7以下扩展下载地址:http://pecl.php.net/package/mongo

查看 php mongodb的扩展的版本以及下载链接。php7在 http://pecl.php.net/package/mongodb 查看。这里的环境是php7,请注意。

cd /usr/local/src/php-mongodb
wget https://pecl.php.net/get/mongodb-1.2.8.tgz
tar -xzvf mongodb-1.2.8.tgz
mv /usr/local/src/php-mongodb/mongodb-1.2.8 /data/server/php-mongodb

阅读全文 >>

6月 28

js中实现set,get

方法1:

function Person()
{
    var name;

    Object.defineProperty(this, "name",{
        set:function(value){
            name = value;
        },
        get:function(){
            return name;
        }
    })
}

defineProperty 是ECMAScript 5新增的特性。该方法有局限性。ie需要大于8以上的版本才可以。

方法2:


var name; var Person = { set name(value){ name = value; }, get name(){ return name; } }

阅读全文 >>