首先确保LNMP架构搭建成功,版本如下,亲自测试。
1. LNMP环境
nignx:1.0.15
pcre: 8.12
MySQL:5.0.77
PHP:5.3.16
PHP需要包含模块:
Eaccelerator: 0.9.6.1
ZendGuardLoader: 3.3
memcache: 2.2.6
pdo_mysql
2. 其他
memcached: 1.4.14
必须要包括这些否则会经常性报错。
下面说几个常见报错。
问题1:Warning: Cannot modify header information - headers already sent by (output started at /www/cache/CVMemcache.php:58) in /www/web/default/center/do/user/cmdbase.php on line 373
这个问题是因为数据库没有导入进去 查找不到数据库
问题2:Fatal error: Class 'Memcache' not found in /www/cache/CVMemcache.php on line 57
下面这个问题是memcached 服务没有启动或者 memcache 没有安装
解决方案:直接去网上下载并编译安装 但是版本要兼容,如果不兼容还是没用的,如果memcached 没有开启,直接启动就可以!
问题三:就是很多人头疼的乱码问题!我也头疼了好久!下面给出解决方案!
例如:http://xxx/xx/static_cmd/ 进这个文件
然后导入数据库
FLUSH PRIVILEGES;刷新权限 增加root用户 密码123
重启所有服务 service nginxd restart
Service mysqld restart
Service memcached restart
打开网页后发现全是字符乱码!说明还是存在问题,首先我们的思路:
1.PHP字符问题就是php页面的问题确定下
我们就先用浏览器打开页面 F12 查看浏览器代码
网页xxx.php保存时选择utf8编码,页头最好加上
header('conten-type:text/html;charset=utf-8');
在执行CRUD操作前先执行一下
mysql_query("set names utf8");
发现浏览器 已经添加了 charset=utf-8
2:然后再去查看php.ini配置文件 看下确定下字符编码有没有修改
3:确定下数据库的代码是否正确
mysql> SHOW VARIABLES LIKE 'character%';
第四步就是确定mysql配置文件是否配置,my.conf或者my.ini
1、从my.ini下手
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
以上3个section都要加default-character-set=utf8,平时我们可能只加了mysqld一项。
然后再数据库中输入ALTER TABLE `servers` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
然后重启mysql,执行
mysql> SHOW VARIABLES LIKE 'character%';
mysql> SHOW VARIABLES LIKE 'collation_%';
确保所有的Value项都是utf8即可。
然后在此查看页面发现还是乱码
这是由于后台内容是直接从其他服务器上复制过来的,所以你首先要清楚浏览器缓存然后把后台地址刷新,每个后台不一样根据自己的后台刷新界面 操作。