初識zf

部署項目時出現下面的錯誤:

Fatal error: Class 'Memcache' not found in E:\www\shop\library\Class\Memcach,顯然是因爲memcache出問題了,用phpinfo()一看,發現沒有memcache這一項,因爲我是安裝的php5.4.13,難道是最新版沒有集成memcache?去../ext目錄下一看,果然沒有php_memcache.dll這個包,於是下載php_memcache.dll(我下載的php_memcache.dll版本是5.4.11),記得把php_memcache.dll拷貝到../ext目錄下!

在cmd環境下,如果以普通用戶的身份直接安裝會報錯“ failed to install service or service already installed”:

解決辦法如下:

1、首先找出cmd.exe的原文件(windows/system32/cmd.exe),右擊以管理員身份運行

2、轉到D:\webEve\memcached(memcached.exe存放目錄),輸入命令 memcached.exe -d install

3、再輸入:'D:\webEve\memcached\memcached.exe -d start’ 即可(注意:以後memcached將作爲windows的一個服務每次開機時自動啓動);

4、在php.ini 加入一行 ‘extension=php_memcache.dll’

5、重新啓動Apache,然後查看一下phpinfo,如果有memcache,那麼就說明安裝成功!

問題又來了,之前放在D盤D:\webEve\memcached目錄下的 memcached.exe沒法刪除,因爲它已經作爲系統服務開機啓動並寫入註冊表了,如果要將該文件移到別的地方的話,可以在cmd中輸入:

(1)、memcached.exe -d stop                               //停止服務

(2)、memcached.exe -d uninstall                         //卸載

按照上面的步驟重新安裝後,再去看註冊表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/memcached Server下面的ImagePath項,你會發現,已經改成了當前的安裝路徑;

好了,重啓apache,如果顯示如下:

Notice: Memcache::get(): Server 127.0.0.1 (tcp 80) failed with: Malformed END line (0) in E:\……\ZF\Zend\Cache\Backend\Memcached.php on line 180

這是因爲memcache默認端口爲11211,可以在註冊表中將"d:\memcached\memcached.exe" -d runservice改爲"d:\memcached\memcached.exe" -p 11211 -m 128 -d runservice即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章