php与mysql编码

mysql5.6编码修改默认utf8的方法:

一般来说我们都偏向用utf8,但是mysql默认有些设置是latin1,这个通过“show variables like ‘character%’;”可以查看到。

修改/etc/mysql/my.cnf,找到[client] 添加:

default-character-set=utf8

找到[mysqld] 添加:

default-character-set=utf8 //5.5以后版本为character_set_server=utf8,千万注意,否则无法启动

init_connect=’SET NAMES utf8′

然后重启mysql服务。

php输出编码

php输出utf-8的话,首先要保证所读取的数据库是utf8的,然后才能保证页面输出能输出utf8.可以修改nginx或者apache的配置文件,添加charset utf8这样的字段,也可以在有任何输出之前,加入header(“Content-type:text/html;charset=utf-8”);

PHP学习好书推荐:PHP and MySQL Web Development 4th Edition

PHP and MySQL Web Development 4th Edition在这个领域名声响亮,不过我是第一次读,目前只读到1/5.

这本书基本上就是php手册的翻版,不同的是版本稍微老一些(php5.3)左右,然后讲述很生动,把手册里孤零零的例子串起来,讲的深入浅出平易近人。

我这里分享的是第四版的电子版,有兴趣的可以去美国亚马逊预购即将出版的第五版,只要29.99刀,算是不贵了。

亚马逊购买链接:PHP and MySQL Web Development (5th Edition)

第四版下载地址:PHP and MySQL Web Development 4th Edition

隐藏网站响应头信息

最近用了一个chrome插件叫做Wappalyzer的,可以看到网站的cms,统计工具,js框架等等。

看到自己的网站时,发现连OS,apache版本和php版本都出来了,这也太全了。

隐藏的办法如下:

在httpd.conf当中

在php.ini中

这样子就不会透露太多不必要的信息了

CentOS完全编译安装最新版LAMP

文章比较早,阿里云也发生了不少变化,当然系统一如既往的旧,推荐大家去阅读一些更新的文章。-2014.1.20

阿里云的centos源比较老,php,httpd,mysql都不怎么新,php竟然还是5.1.16版本,现在最新都5.4.7了,漏洞多不说,很多组件也不兼容,因此完全编译安装以下:

PHP 5.4.7

HTTPD  2.4.3

MySQL Community Server 5.5.28

1、安装httpd

首先安装必须的环境

下载所有安装包,包括apr,apr-util,httpd,pcre

解压pcre并安装 继续阅读CentOS完全编译安装最新版LAMP