最近动态

Linux

CentOS 6下更新PHP版本到5.5后与Nginx发生的小事情

今天在写API的时候用到了php中新版本的jsonencode()方法,在5.4以后支持了不对中文进行Unicode编码,而我在服务器上的php版本还停留在yum源包自带的5.3版本,只有升级来满足需要了。
首先,找了一些关于升级PHP的文章,各不相同,我还是坚持简单、易操作的方法,使用yum来更新。
当然,yum update php 是完全不能解决的,因为它告诉我5.3是最新的版本了。不能怪它,因为没人告诉它今年是哪一年了^
^!
这个不行,肯定要换一个源包了。。
不过首先是要卸载已经安装的php。在这之前,先看看当前安装的PHP有哪些依赖包吧:

1
yum list installed | grep php

结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@iZ28l1ca1vhZ scuec]# yum list installed | grep php
php.x86_64 5.3.3-46.el6_6 @updates
php-bcmath.x86_64 5.3.3-46.el6_6 @updates
php-cli.x86_64 5.3.3-46.el6_6 @updates
php-common.x86_64 5.3.3-46.el6_6 @updates
php-fpm.x86_64 5.3.3-46.el6_6 @updates
php-gd.x86_64 5.3.3-46.el6_6 @updates
php-imap.x86_64 5.3.3-46.el6_6 @updates
php-ldap.x86_64 5.3.3-46.el6_6 @updates
php-mbstring.x86_64 5.3.3-46.el6_6 @updates
php-mcrypt.x86_64 5.3.3-4.el6 @epel
php-mysql.x86_64 5.3.3-46.el6_6 @updates
php-odbc.x86_64 5.3.3-46.el6_6 @updates
php-pdo.x86_64 5.3.3-46.el6_6 @updates
php-pear.noarch 1:1.9.4-4.el6 @base
php-xml.x86_64 5.3.3-46.el6_6 @updates
php-xmlrpc.x86_64 5.3.3-46.el6_6 @updates

上面这些本来有的,安装新版本后还是加上去比较好办,对!
接着卸载php吧

阅读剩下更多

默认配图
Linux

Debian中搭建VPN(PPTP协议)实战,实现VPN上网

首先讲一讲为什么会突然想到弄一下VPN呢?这是因为在我的学校,校园网的认证采用的是VPN(L2TP协议),既然这样,我是不是可以通过学校的虚机来自建一个认证系统来实现上网呢?抱着这种疑问,开始做一些事情吧。

另外提一下,PPTP, L2TP/IPSec 和 OpenVPN这三种协议里,PPTP比较容易配置,所以我采用了这种方法。

1、所需工具和资源

说到底,还是离不开一台校内的机器,而且能够上网并拥有独立IP(看上去很难有这个),多亏有师生这层美妙的关系,对!一台虚机就这样有了。软件方面的东西直接在虚机上下载就行了。

本次实战的机器是Debian系统,软件源包使用apt-get,本地电脑Macbook(自带ssh连接端)

2、具体步骤

首先连接上远程计算机,通过命令行进行安装:

阅读剩下更多

默认配图
PHP

分享一个PHP修改ini配置文件的类

.ini配置文件 有简单类型 和 复杂类型:
简单的不带节点,如:
username=myname
userage=21
userinfo=i’m a boy

另一种带有节点,如mysql的配置文件my.ini(windows下):
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64

阅读剩下更多

默认配图
学习笔记

有关MacBook从10.9.5升级到10.11(EI capitan)后的问题及解决方法

看到别人的MAC在用最新的EI Capitan系统之后,我终于打破了自己坚持使用旧系统的原则,本着更好的体验和更高的性能,我将自己的本子也更新到最新,既然是更新升级上来的,不免有些小问题会出现,下面就逐个来说说我遇到的问题吧。

问题一:Apache无法正常启动?

首先遇到这个问题时,当然是去找日志了,因为在终端输入启动命令:sudo apachectl start之后,没有任何报错和提示,只是本地浏览器访问localhost or 127.0.0.1失败。但是,这个错误日志真的不好找,最后我干脆去配置文件etc/apache2/httpd.conf中寻找。

嗯!找到了! ErrorLog “/private/var/log/apache2/error_log” 好的,我去看看到底是什么原因。可是,“/private/var/log/apache2/” 目录根本没有任何文件!想着自己给它创建这个错误日志文件吧,创建好了之后使用命令启动apache,结果文件里面没有任何内容!

这也不行,看来通过错误日志是行不通了,于是乎,在网上查找各种资料,终于看到有个人在网页上写到:现在尝试启动一下Apache: sudo apachectl -k start。看到这个,带着好奇我也输入了一遍,好奇心真的不会害死猫!终于出现了报错了!第一次这么开心地看见报错信息,于是乎根据提示找到错误点并屏蔽掉了这个错误的配置。

阅读剩下更多

默认配图
Linux

Apache 反向代理 Tomcat实战

apache

近期突然有个想法,既然有多出来的服务器,空着也是空着,不如拿出来用作演示项目。带着这样的心情,我开始在自己的服务器上动起了手脚。

一、现有情况:

  1. 我的博客地址:http://www.dshui.wang/
  2. 演示用的服务器地址(Tomcat):http://xxx.xx.xx.xx:8080/ (由于暴露IP和端口带来了攻击,现在取消了)
  3. 演示所用域名:demo.dshui.wang 解析至博客所在服务器(非演示用服务器)

二、预期效果:

  1. 访问http://demo.dshui.wang/tomcat/时,展示的页面为http://xxx.xx.xx.xx:8080/所显示的页面
  2. 更近一层,http://demo.dshui.wang/tomcat/* 译为http://xxx.xx.xx.xx:8080/* (*代表通配符

    阅读剩下更多

默认配图
学习笔记

[作业练习]带数据库的简易购物车

在前一次作业的基础上([作业]JavaBean+Jsp简易购物车实现),加上数据库来管理商品和购买记录。
最后结果展示:http://demo.dshui.wang/tomcat/ShopCartDemo/
首先,建立数据表:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#用户表
CREATE TABLE `cart_users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(80) NOT NULL DEFAULT '',
`password` varchar(220) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
<!--more-->

#商品表
CREATE TABLE `cart_goods` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`gname` varchar(50) NOT NULL DEFAULT '',
`gprice` double NOT NULL,
`gdname` varchar(20) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

#购买记录
CREATE TABLE `cart_lists` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(80) NOT NULL DEFAULT '',
`gid` int(11) unsigned DEFAULT NULL,
`gnumber` double DEFAULT NULL,
`gtprice` double DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `users` (`username`),
KEY `goodid` (`gid`),
CONSTRAINT `goodid` FOREIGN KEY (`gid`) REFERENCES `cart_goods` (`id`),
CONSTRAINT `users` FOREIGN KEY (`username`) REFERENCES `cart_users` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=60 DEFAULT CHARSET=utf8;

写入测试数据:

阅读剩下更多

默认配图
学习笔记

[作业]JavaBean+Jsp简易购物车实现

本次作业要求使用到JavaBean+纯Jsp,带有登陆功能的购物车系统。
登陆功能这里就不多讲了,前面的聊天室已经做过,这边直接拷贝就能使用了。
另外,本次作业中我加入了BootStrap来做一个小小风格美化。
不多说,直接上代码!
index.jsp 首页,也是登陆界面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
Cookie[] cookies = request.getCookies();
String uname = "";
String upwd = "";
if(cookies!=null){
for(int i=0;i<cookies.length;i++)
{
Cookie cookie=cookies[i];
if(cookie.getName().equals("remname"))
{
uname = cookie.getValue();
}
else if(cookie.getName().equals("rempwd"))
{
upwd = cookie.getValue();
}
}
}
%>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>请登录ShopCartDemo</title>
<link href="bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<form class="form-horizontal" action="dologin.jsp" method="post" name="loginform">
<div class="form-group">
<label for="inputusername" class="col-sm-5 control-label">用户名</label>
<div class="col-sm-2">
<input class="form-control" id="inputusername" type="text" name="username" value="<%=uname%>" placeholder="username" />
</div>
</div>
<div class="form-group">
<label for="inputpassword" class="col-sm-5 control-label">密码</label>
<div class="col-sm-2">
<input class="form-control" id="inputpassword" type="password" name="password" value="<%=upwd%>" placeholder="password" />
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-5 col-sm-2">
<div class="checkbox">
<label>
<input type="checkbox" name="remember" value="true"> 记住我
</label>
</div>
</div>
</div>

<div class="form-group">
<div class="col-sm-offset-5 col-sm-2">
<button type="submit" class="btn btn-default">登陆</button>
<button type="reset" class="btn btn-default">重置</button>
</div>
</div>

</form>
</div>
</body>
</html>

dologin.jsp 登陆信息处理页面

阅读剩下更多

默认配图
返回顶部