首先确保LNMP架构搭建成功,版本如下,亲自测试。


1. LNMP环境

nignx1.0.15

pcre: 8.12

MySQL5.0.77

PHP5.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




085927714.jpg




打开网页后发现全是字符乱码!说明还是存在问题,首先我们的思路:

1.PHP字符问题就是php页面的问题确定下

我们就先用浏览器打开页面 F12 查看浏览器代码

网页xxx.php保存时选择utf8编码,页头最好加上

header('conten-type:text/html;charset=utf-8');

在执行CRUD操作前先执行一下

mysql_query("set names utf8");

090413963.png

发现浏览器 已经添加了 charset=utf-8


2:然后再去查看php.ini配置文件 看下确定下字符编码有没有修改

090647209.png

3:确定下数据库的代码是否正确

mysql> SHOW VARIABLES LIKE 'character%';

085929820.jpg

第四步就是确定mysql配置文件是否配置,my.conf或者my.ini

085931382.jpg


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即可。

然后在此查看页面发现还是乱码

091114862.png

这是由于后台内容是直接从其他服务器上复制过来的,所以你首先要清楚浏览器缓存然后把后台地址刷新,每个后台不一样根据自己的后台刷新界面 操作。