1.解压:tar zxvf SeasLog-1.7.6.tgz
进入解压目录执行:phpize(是一个shell脚本,编译PHP扩展的工具,主要是根据系统信息生成对应的configure文件)
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
然后在php.int添加SeasLog.os扩展
最后修改php.ini配置
[SeasLog] seaslog.default_basepath = /tmp seaslog.default_logger = default seaslog.desting_type = 1 seaslog.disting_by_hour = 1 seaslog.use_buffer = 1 seaslog.buffer_size = 100 seaslog.trace_error = 1 seaslog.trace_exception = 0 在php.ini中 extension下面接着配置以下信息: seaslog.default_basepath = 'D:/WWW/log' ;默认log根目录 记着 是目录 seaslog.default_logger = default ;默认日志目录 位于default_basepath目录下的小目录 seaslog.disting_type = 1 ;是否以type分文件 1是 0否(默认) 若是 则每种级别都会单独生成日志文件 seaslog.disting_by_hour = 0 ;是否每小时划分一个文件 1是 0否(默认) 若是 则每个小时都会生成新文件 seaslog.use_buffer = 1 ;是否启用buffer 1是 0否(默认) 默认关闭,当开启此项时,日志预存于内存,当请求结束时(或异常退出时)一次写入文件。 seaslog.buffer_size = 100 ;buffer中缓冲数量 默认0(不使用) seaslog.level = 0 ;记录日志级别 默认0(所有日志)
2.seasLog相关命令
<?php //按模块分类设置保存日志文件夹 SeasLog::setLogger('Web'); //设置基础路径 SeasLog::setBasePath('/home/wwwroot/default/seaslog/log'); //写入日志 SeasLog::debug('it is debug info'); SeasLog::info('is info'); SeasLog::notice('it is notice'); //查看日志记录信息 $data = SeasLog::analyzerCount(); $data2 = SeasLog::analyzerDetail('debug'); SeasLog::log('debug','debug..');//通用函数 var_dump($data,$data2); //基础路径 //echo SeasLog::getBasePath();
3.在tp框架使用seasLog扩展
public function index(){ SeasLog::log('debug','123'); }
其他资料参考: SeasLog 日志8个级别 debug -> info -> notice -> warning -> error -> critical -> alert -> emergency 保存退出 重启Apache 打个phpinfo()出来找找有没有SeasLog扩展 以下是PHP中的seaslog函数: basepath 设置:Seaslog::setBasePath('/log/base_test'); 获取:Seaslog::getBasePath(); logger 设置:Seaslog::setLogger('app'); 获取:Seaslog::getLastLogger(); 写日志: Seaslog::debug('...') Seaslog::info('...') Seaslog::notice('...') 八个级别都可以记录 日志内容格式为:级别-pid-时间戳-格式化时间-日志内容 读取日志条数 Seaslog::analyzerCount('{日志级别}');//如果不填参数 则代表统计全部级别 Seaslog::analyzerCount('{日志级别}','20170914');指定统计某一天的日志 读取日志 Seaslog::analyzerDetail('{日志级别}','20170914');//也有两个参数 日志级别和指定时间 第一个日志级别参数必填 时间可选 输出info级别的日志: echo "<pre>"; print_r(Seaslog::analyzerDetail('info')); echo "</pre>"; 某些PHP框架默认为当前控制器命名空间 所以会报Seaslog not found 只需在前面指定根命名空间就OK: \Seaslog::debug('...')
相关下载地址:
https://github.com/Neeke/SeasLog
http://pecl.php.net/package/SeasLog
正好无聊,就给博客加了个登录,顺便就写了个贴
本教程是基于thinkphp3.2框架开发的
1.前期准备:
1)先去QQ互联申请APPID和APPkey
官方网站:https://connect.qq.com/index.html
2)下载相关的sdk包
地址:http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD
3)线上域名地址服务器(本地不行)
2.删除无关紧要的文件之后,把下载好的sdk放在tp框架的第三方扩展vender文件夹下
原文件目录:
配置优化之后:
关于优化:
安装提示配置完之后,主要文件在API文件夹,其他看情况删除
入口文件:qqConnectAPI.php
配置文件:Recorder.class.php(注意回调地址别搞错,要和你再QQ互联填写的一致,不然拿不了返回的信息)
TP代码:
逻辑:点击页面登录按钮跳转到登录页->qqlogin(QQ授权登录页)->回调地址获取返回的openid和accesstoken的值->使用获取的值调用API接口
//回调地址 获取返回,值设置保存cookie
public function callback(){ //请求accesstoken Vendor('qqConnect.qqConnectAPI'); $oauth = new \Oauth(); $accesstoken = $oauth->qq_callback(); $openid = $oauth->get_openid(); setcookie('qq_accesstoken',$accesstoken,time()+86400); setcookie('qq_openid',$openid,time()+86400); header("Location:index"); }
//退出登录 删除cookie
public function qqlogout(){ setcookie('qq_accesstoken',null); setcookie('qq_openid',null); header("Location:index"); }
// 登录页
public function qqlogin(){ //访问qq登录页面 Vendor('qqConnect.qqConnectAPI'); $oauth = new \Oauth(); $oauth->qq_login(); }
//调用API接口获取用户信息
$qc = new \QC($_COOKIE['qq_accesstoken'],$_COOKIE['qq_openid']); $userinfo = $qc->get_user_info();
大概就这样,如果有什么问题或者疑问请留言,欢迎纠错
由于笔记太多所以分为几篇文章发布
laravel5.4开发笔记(一)
1.conposer的安装和使用
1)参考文档:https://getcomposer.org/download/
2.laravel的安装
1)参考文档:http://laravelacademy.org/post/6665.html
2)在线开发手册:http://d.laravel-china.org/docs/5.4/routing
3.本地开发服务器
如果你在本地安装了PHP,并且想要使用PHP内置的开发环境服务器为应用提供服务,可以使用Artisan命令serve,该命令将会在本地启动开发环境服务器http://localhost:8000:
CMD窗口命令:
php artisan serve
4、Web服务器配置
美化URL
Apache
框架中自带的public/.htaccess文件支持URL中隐藏index.php,如过你的Laravel应用使用Apache作为服务器,需要先确保Apache启用了mod_rewrite模块以支持.htaccess解析。
如果Laravel自带的.htaccess文件不起作用,试试将其中内容做如下替换:
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
Nginx
如果你使用的是Nginx,使用如下站点配置指令就可以支持URL美化:
location / { try_files $uri $uri/ /index.php?$query_string; }
当然,使用 Homestead 或 Valet 的话,以上配置已经为你配置好以支持URL美化。
5.文件夹介绍
逻辑代码:app
配置文件:config
数据库管理:database
对外资源:public
开启服务和创建数据库表(测试mysql是否配置成功):
6.laravel的路由
7.laravel模板语法
8.使用migration(数据库迁移)创建posts数据表
创建迁移表命令:php artisan make:migration create_posts_table
位置:
参考文档:
http://laravelacademy.org/post/6964.html
参考代码
increments('id'); $table->string('title',100)->default("");//字段名为:title 长度:100 default:默认值 $table->text('content'); $table->integer('user_id')->default(0); $table->timestamp();//添加 created_at 和 updated_at 列 }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('posts');//回滚 } }
迁移命令:
php artisan migrate
错误提示:创建字段的时候没有指定长度,默认长度1071超过了系统默认长度1000
解决方案:
迁移结果:有三个,所以创建了3个,除非之前已经迁移过才会只有新的表迁移
9.文章的模型创建
创建模型命令:php artisan make:model Post
调试模型数据库:
php artisan tinker
续:请看laravel5.4开发笔记(二)