php7无法安装memcache扩展 系统 centos-6.8 Nginx-1.10.2 PHP-7.0.135.6.28 memcached-1.4

php7无法安装memcache扩展 系统 centos-6.8 Nginx-1.10.2 PHP-7.0.135.6.28 memcached-1.4,第1张

一 下载需要的源码包

所有安装包均选用最新的。

1. 下载libevent2.0.22

点击红色部分下载

下载memcached1.4.24

点击红色部分,下载最新版本

下载php扩展memcache3.0.8

选择需要的版本

二 安装详细步骤

首先将以上三个软件包下载到/tmp目录下

1. 安装libevent

cd /tmp #首先进入到该下载包的目录

tar zxvf libevent-2.0.22-stable.tar.gz #解压包cd libevent-2.0.22-stable #进入到解压的目录./configure --prefix=/usr/local #编译前配置,生成Makefile文件,路径可自行更改makemake install #编译+安装

1

测试是否安装成功

看到这些信息,表示成功啦

2. 安装memcached

cd /tmp #首先进入到该下载包的目录

tar zxvf memcached-1.4.24.tar.gz #解压包

cd memcached-1.4.24 #进入到解压的目录

./configure –with-libevent=/usr/local #编译前配置,生成Makefile文件,路径必须与libevent中一致makemake install #编译+安装

1

测试是否安装成功

表示成功的信息

通过以上 *** 作,就完成了memcached服务器的安装。特别的简单吧!现在就来搞一搞memcache的php扩展安装吧3. 安装扩展

cd /tmp #首先进入到该下载包的目录

tar zxvf memcache-3.0.8.tgz #解压包

cd memcache-3.0.8 #进入到解压的目录

/opt/lampp/bin/phpize #动态为php添加扩展。phpize路径可能不一致,请根据自己的实际情况./configure –enable-memcache –with-php-config=/opt/lampp/bin/php-config –with-zlib-dir #php-config请根据自己环境情况填写makemake install #编译+安装

1

完成以上步骤时,心情愉悦的点击了enter,准备喝口水潇洒一下,结果出现了一下错误(这也是我写这篇博客的原因,要不都懒得记录了)错误信息

看了下代码错误信息,说是zlib.h找不到。找不到就给他安一个嘛。真是的安装zlib

下载zlib-1.2.8.tar.gz

下载地址:http://www.zlib.net/

如图:

红色部分点击

cd /tmp #首先进入到该下载包的目录

tar zxvf zlib-1.2.8.tar.gz #解压包

cd zlib-1.2.8 #进入到解压的目录

./configure --prefix=/usr/local/zlib

makemake install #编译+安装

1

再进行配置一下系统的文件,加载刚才编译安装的zlib生成的库文件vi /etc/ld.so.conf.d/zlib.conf

加入如下内容后保存退出: /usr/local/zlib/lib也就是添加安装目录的文件路径,库文件。ldconfig 运行之后就会加载安装的库文件了。

OK,到这一步了,此时,重新在memcache的php扩展中执行makemake install命令如果看到以下信息,表示成功:

扩展安装成功

三 配置php.ini文件

首先通过phpinfo函数,找到php.ini的路径,我的是:/opt/lampp/etc/php.ini在其中添加如下内容:

修改extension_dir路径:

extension_dir = “/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/”

extension=memcache.so

[Memcache]

memcache.allow_failover = 1

memcache.max_failover_attempts=20

memcache.chunk_size =8192

然后重新启动apache,再次通过phpinfo查看一下情况。如果有如下内容,表示配置成功:

信息

四 配置memcached服务器

启动memcached服务器

memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid参数说明:

-d选项是启动一个守护进程,

-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是root,

-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址127.0.0.1,-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid2. 结束memcached进行

kill cat /tmp/memcached.pid

3. 检查memcached是否已经启动

看到绿色框中内容,就表示完成

五 测试php的memcache扩展

<?php

$mem = new Memcache

$mem->connect("192.168.12.201", 13001)

$mem->set('key','This is a test!', 0, 60)$val = $mem->get('key')

echo $val

?>

写在后面:大家有兴趣可以将session改为使用memcache来保存。php自身使用文件的方式,不太好,动不动文件大小总和就上G了。

你先确定一下是memcache还是memcached这两者是有区别的。

telnet成功证明memcache安装成功。

phpinfo显示memcached那这也没问题

可你说

使用官方的测试memcached的PHP文件没用,页面提示500错误

不知你使用的是不是类似这样的代码。

<?php

$mem

=

new

Memcache

$mem->connect("192.168.x.y",

11211)or

die

("Could

not

connect")

$mem->set('key',

'This

is

a

test!',

0,

60)

$val

=

$mem->get('key')

echo

$val

?>

注意看第一行。。$mem

=

new

Memcache

如果你的服务器支持是memcached的话就在phpinfo里显示的是memcached

如果是memcache的话那就只会显示memcache

memcached是php的一个扩展。

所以你用new

memcache去实例memcached会出500也正常。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/bake/11961232.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存