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 将这样为你解决问题:
- 你有一个项目依赖于若干个库。
-
其中一些库依赖于其他库。
-
你声明你所依赖的东西。
-
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
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;
}
}
6月
28
初介
impress.js
是国外一位开发者受Prezi
启发,采用CSS3与JavaScript语言完成的一个可供开发者使用的表现层框架(演示工具)。
普通开发者可以利用impress.js自己开发出类似效果的演示工具,但性能比基于Flash的Prezi更优。其功能包括画布的无限旋转与缩放,任意角度放置任意大小的文字,CSS3 3D效果支持等。同时,也支持传统PowerPoint形式的幻灯演示。
目前impress.js是基于webkit
浏览器(Chrome、Safari)开发,而在其它基于非 webkit引擎,但支持 CSS3 3D 的浏览器也能正常运行。
演示 && 下载
官网:http://impress.github.io/impress.js/#/bored
王巍:http://about.onevcat.com/#/welcome
正逍遥:http://zhengxiaoyao0716.github.io/FunCodeImpress/#/bored
gitHub: https://github.com/impress/impress.js
继续阅读
6月
28
6月
28
前言
js
是一个自由,一切皆对象的脚本语言。如果说要去找面向对象的原生的package
,class
,那是没有的。但是,js
可以去封装。
了解prototype
w3school
这样定义的:prototype
属性使您有能力向对象添加属性和方法。这个是动态的,也就是什么时候都可以。每个对象都有prototype属性,它本身也是一个对象。如此循环下去就形成了一个prototype链,这个链当遇到链中的prototype为null
时即中止(Object默认的prototype为null)。
继续阅读