簡體   English   中英

如何在 Laravel 5.7 中使用 Memcached 進行會話?

[英]How to use Memcached for session in Laravel 5.7?

通常我使用文件作為驅動程序來存儲會話和緩存。 現在我想使用Memcached在 Laravel 5.7 應用程序上存儲會話和緩存。 這對我來說是新的。 我已經在本地環境中安裝了php-memcached

在我的 Laravel 5.7 Web 應用程序中,我在.env文件中配置了session.drivercache.default ,如下所示。

SESSION_DRIVER=memcached
CACHE_DRIVER=memcached

我將其他所有內容保留為默認安裝。 當我刷新頁面時,出現以下錯誤。

Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)
Class 'Memcached' not found
/vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php 69

我知道當您為會話和緩存配置配置驅動程序以使用Memcached ,將涉及MemcachedConnector 它進口Memcached類,並試圖創建的實例對象Memcached類如下。

use Memcached;

class MemcachedConnector {
    protected function createMemcachedInstance($connectionId) {
        return empty($connectionId) ? new Memcached : new Memcached($connectionId);
    }
}

由於上述錯誤,似乎缺少Memcached類。 我該如何解決? 即使它解決了問題,請不要告訴我執行以下操作。

SESSION_DRIVER=file
CACHE_DRIVER=file

或者

SESSION_DRIVER=array
CACHE_DRIVER=array

因為我想使用Memcached並且想知道如何使它工作。

我還不能發表評論,很抱歉張貼作為答案。

嘗試運行php -i || grep 'memcached' php -i || grep 'memcached'從您的應用程序目錄。

如果您正在運行 vagrant,請嘗試vagrant ssh然后php -i || grep 'memcached' php -i || grep 'memcached'

您也可以(如下所示)添加phpinfo(); 到你的routes/web.php的頂部(在<?下方),當你嘗試在瀏覽器中加載你的網站時,它應該會吐出你的 php 信息。

這將提示您是否安裝和加載了 memcached。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM