2014-09-21 53 views
0

我試圖使這個example on php, mysql, and memcache作品。我把文件放在var/www/html文件夾中。這是mc.php文件內容的頂部。MemCache對象沒有被實例化在一個PHP文件裏

<?php 
    echo "test 1"; 
    $memcache = new Memcache; 
    echo "test 2"; 
    ... 
?> 

當我運行這個http://localhost/mc.php在瀏覽器中,我得到了以下文字:test 1

很明顯,memcache對象沒有被瞬時化。但是,我已經安裝了memcached。當我在命令行運行這個命令時,我得到這個結果

user1: ~$ ps ax | grep memcached 
1037 ?  Sl  0:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 
2801 pts/1 S+  0:00 grep --color=auto memcached 

我是否缺少任何東西?

+1

打開'display_errors' +設置'error_reporting'向你展示錯誤 – zerkms 2014-09-21 20:47:46

+0

是的,我會打開它。我不知道它是默認關閉的。 – Richard77 2014-09-21 21:02:15

回答

1

問題不是memcached問題是你沒有安裝Memcache php擴展。我不知道你使用的是哪個系統。但在Debian和其他Linux系統中,您可以通過軟件包管理器安裝該擴展。

apt-get install php5-memcache 

之後,重新加載Web服務器或PHP進程,你有加載的Memcache擴展。要檢查是否擴展加載做出phpinfo()那裏你可以搜索內存緩存,你可用看到,如果模塊。

這就是爲什麼你只得到第一回波。 PHP無法找到Memcache類/擴展名。

+0

這是問題所在。非常感謝。 – Richard77 2014-09-21 21:03:00

+0

沒問題,這是一個共同的問題。 – Stony 2014-09-21 21:03:50