首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在xampp ubuntu中安装php-memcache?

如何在xampp ubuntu中安装php-memcache?
EN

Stack Overflow用户
提问于 2022-07-25 04:55:19
回答 1查看 227关注 0票数 1

我已经从https://www.apachefriends.org/index.htmlUbuntu 22.04操作系统中安装了xampp。

成功安装后,我的项目运行良好,但是当我使用下面的命令在我的系统中安装php-memchached时,它没有显示在我的phpinfo()页面中。

命令:

代码语言:javascript
复制
sudo apt-get install -y php-memcached

此外,我尝试使用代码检查Memcached是否成功安装。但我收到的错误消息是Class 'Memcached' not found

代码:

代码语言:javascript
复制
$memcached = new Memcached();
$memcached->addServer("127.0.0.1", 8080);
$response = $memcached->get("sample_key");

if($response==true) {
    echo $response;
} else {
    echo "Cache is empty";
    $memcached->set("sample_key", "Sample data from cache") ;
}

Yii控制台中的错误输出:

代码语言:javascript
复制
Class 'Memcached' not found

请告诉我如何在我的ubuntu系统的Xappp中安装php-memcached?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-03 06:08:07

php-memcached扩展使用libmemcached库提供与memcached服务器通信的API。

因此,这个扩展需要 libmemcached客户端库

台阶。从基本的ubuntu:22.04映像成功地尝试了

代码语言:javascript
复制
FROM ubuntu:22.04

RUN apt-get update && apt-get upgrade -y && apt-get install -y net-tools sudo wget nano

和xampp安装:

代码语言:javascript
复制
cd /home
sudo wget https://downloadsapachefriends.global.ssl.fastly.net/8.1.6/xampp-linux-x64-8.1.6-0-installer.run
sudo chmod 755 xampp-linux-x64-8.1.6-0-installer.run
sudo ./xampp-linux-x64-8.1.6-0-installer.run

然后,需要安装大量的依赖项:

代码语言:javascript
复制
sudo apt-get update
sudo apt-get install -y memcached
sudo apt-get install php-pear
sudo apt-get install libcurl3-openssl-dev
sudo apt-get install php-dev
sudo apt-get install zlib1g-dev
sudo apt-get install libmemcached-dev
sudo pecl install memcached #note the path to memcached.so
sudo nano /opt/lampp/etc/php.ini
add extension=/usr/lib/php/20210902/memcached.so #path noted before
sudo /opt/lampp/lampp restart

或另一种可能的安装:

代码语言:javascript
复制
sudo apt-get update
sudo apt-get install autoconf
sudo apt-get install build-essential
sudo apt-get install -y pkg-config
sudo apt-get install zlib1g-dev
sudo apt-get install libmemcached-dev
sudo /opt/lampp/bin/pecl install memcached #note the path to memcached.so
sudo nano /opt/lampp/etc/php.ini
add extension=/opt/lampp/lib/php/extensions/no-debug-non-zts-20210902/memcached.so #path noted before
sudo /opt/lampp/lampp restart

使用您的代码:

代码语言:javascript
复制
$memcached = new Memcached();
$memcached->addServer("127.0.0.1", 8080);
$response = $memcached->get("sample_key");

if($response==true) {
    echo $response;
} else {
    echo "Cache is empty";
    $memcached->set("sample_key", "Sample data from cache") ;
}

结果:

代码语言:javascript
复制
Cache is empty

而phpinfo:

详情请参阅:

https://www.php.net/manual/en/book.memcached.php

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73104219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档