首先確保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即可。
然後在此查看頁面發現還是亂碼
這是由於後臺內容是直接從其他服務器上覆制過來的,所以你首先要清楚瀏覽器緩存然後把後臺地址刷新,每個後臺不一樣根據自己的後臺刷新界面 操作。