分类目录归档:来点技术

我家宝贝也打算学网站制作啦,哈哈,特批一个技术分类。

swoole学习:多端口监听、热重启以及Timer进阶等

最近在用swoole做群聊,确实是非常好用,但是使用过程中还是遇到了不少问题如下:

1、后台管理问题

2、热重启问题

未完待续。。。

环境说明: 系统:Ubuntu14.04 (安装教程包括CentOS6.5)

PHP版本:PHP-5.5.10
swoole版本:1.7.7-stable

Github链接:https://github.com/LinkedDestiny/swoole-doc


1.多端口监听

在实际运用场景中,服务器可能需要监听不同host下的不同端口。比如,一个应用服务器,可能需要监听外网的服务端口,同时也需要监听内网的管理端口。在Swoole中,可以轻松的实现这样的功能。 Swoole提供了addlistener函数用于给服务器添加一个需要监听的host及port,并指定对应的Socket类型(TCP,UDP,Unix Socket以及对应的IPv4和IPv6版本)。 代码如下:

$serv = new swoole_server("192.168.1.1", 9501); // 监听外网的9501端口
$serv->addlistener("127.0.0.1", 9502 , SWOOLE_TCP); // 监听本地的9502端口
$serv->start(); // addlistener必须在start前调用

继续阅读

mysqldump指定编码导出数据

转编码的时候很有用,下面事例是从gbk(默认编码为latin1)数据转到utf-8,作为参考。

第一步,导出旧库

mysqldump --default-character-set latin1 -uroot -pXXX --database db >     /tmp/old.sql

第二步,转换编码

iconv -t utf-8 -f gbk -c /tmp/old.sql > /tmp/new.sql

第三步,导入新库
修改new.sql,增加一条sql语句: “SET NAMES utf8;”,保存。

mysql -hlocalhost -uroot db < new.sql

mysql获取指定表当前自增id值(Auto_increment)方法

mysql函数语句 “show table status”,可以获取当前数据库里的所有表的属性等信息其中mysql获取指定表当前自增id值(Auto_increment)方法有两种,

1、

show table status like 'TableName'

2、

show table status where Name ='TableName'

php代码示例

$sql="show table status where name ='members'";
$query=mysql_query($sql);
$row = mysql_fetch_array($query);
$curid = $row['Auto_increment'];

MySQL 文本文件的导入导出数据的方法

MySQL写入数据通常用insert语句,如

insert into person values(张三,20),(李四,21),(王五,70)…;

但有时为了更快速地插入大批量数据或交换数据,需要从文本中导入数据或导出数据到文本。
一、 建立测试表,准备数据
首先建立一个用于测试的表示学生信息的表,字段有id、姓名、年龄、城市、薪水。Id和姓名不
能为空。

create table person(
id int not null auto_increment,
name varchar(40) not null,
city varchar(20),
salary int,
primary key(id)
)engine=innodb charset=gb2312;

创建表截图如下:
1

接着写一个用于导入的文本文件:c:\data.txt。
张三 31 北京 3000
李四 25 杭州 4000
王五 45 \N 4500
小明 29 天津 \N
3

每一项之间用Tab键进行分隔,如果该字段为NULL,则用\N表示。
二、 导入数据
输入命令,进行导入。

load data local infile "c:/data.txt"
into table person(name,age,city,salary);

继续阅读

解决PHPExcel和ThinkPHP冲突的最好办法

最近在ThinkPHP框架中应用PHPExcel类,经常出现莫名其妙的问题,后来锁定为PHPExcel和ThinkPHP有冲突,网上找了一堆资料,大部分说在使用了PHPExcel之后,在使用M或者D方法或者解析模版之前调用

spl_autoload_register(array('Think','autoload'));

就可以解决问题了,确实是可以用,不过这未免太麻烦了,其实找找ThinkPHP的手册就知道了,有个一劳永逸的办法,那就是修改配置文件,把APP_AUTOLOAD_REG设置成true,就都解决了。

 'APP_AUTOLOAD_REG' => true,

注:暂且叫最好办法吧,如果发现更好的欢迎大家告诉我。

PHPExcel类中读取Excel文件相关函数和使用方法

老婆大人最近也开始研究网站开发了,哈哈,先从html学起,然后css,数据库,php…大有长江后浪推前浪之势啊,所以以后俺们的小屋也多了技术分类了,希望大家多来捧场啊。

最近在重构整个WEB短信发送系统,打算把客户端软件上的功能完全在WEB版上实现,所以就少不了对Excel文件的操作了,而且要个性化的操作。对Excel文件操作最牛的(也是最臃肿的吧)开源类自然是PHPExcel,真的好庞大,不过确实是好用也方便用,但是因为是国外开发的么,网上能用中文资料也不是特别多,所以打算一边修改系统一边好好研究这个类的使用。如果有可能精简一下最好,不过我这边主要用到的地方都是读取Excel文件的,所以基本上就从读取Excel文件相关的函数来学习了。

下面是一些具体代码的例子,解释就直接写在注释里了,持续更新中。
继续阅读

VisualSVN Server 安装配置详细教程

VisualSVN Server是什么?答:windows下非常好用的服务端svn套件

前几天(刚写这个的时候是前几天,现在已经过了不知道多少天了)从崔凯那里看到 VisualSVN Server

下载试用了一下,真的相当的简单易用,非常适合于那种没有SVN服务配置基础还有类似我这种比较喜欢“偷懒”的人使用,再也没有机会说“自己一个人开发懒得再花大力气配个SVN了”,而且并不止是像崔凯说的只是用来实现本地代码控制,完全可以安装在windows服务器上作为远程版本控制管理(由于最近和朋友合作开发一个小项目,虽然只有两个人,但是仍然要不停的合并比对代码,干脆直接在朋友的windows服务器上安装了一个VisualSVN Server,效果很不错)。

首先下载安装,安装很简单,基本上就下一步下一步,我本机是win7 64位的,安装使用都很流畅。

Visual SVN 使用教程

继续阅读