安装php7的memcached扩展
.编译安装libmemcached-1.0.
wget https://launchpadlibrarian.net/165454254/libmemcached-1.0.18.tar.gz tar -zxvf libmemcached-1.0..tar.gz
cd libmemcached-1.0.
./configure --prefix=/usr/local/libmemcached --with-memcached
make && make install . 安装php-memcached扩展
php使用memcache的扩展有两个,一个memcache,一个memcached,前者比较老,推荐使用第二个,我们这里以第二个为例: 在github上找到适用于php7的分支(https://github.com/php-memcached-dev/php-memcached/tree/php7),同样使用wget下载zip压缩包,解压缩,进入目录,依次执行下列命令(其中php-config和libmemcached目录根据具体情况设定,可以使用whereis或者find来查找 # 解压
cd php-memcached-php7 # 执行phpize会生成configure文件
/usr/local/php/bin/phpize
# 执行预编译
./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl
make
make install [root@szxxlfhtest02t:/usr/local/src/php-memcached-php7]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No: [root@szxxlfhtest02t:/usr/local/src/php-memcached-php7]# make install
Libraries have been installed in:
/usr/local/src/php-memcached-php7/modules If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for
more information, such as the ld() and ld.so() manual pages.
---------------------------------------------------------------------- Build complete.
Don't forget to run 'make test'. Installing shared extensions: /usr/local/php-7.0.12_fpm/lib/php/extensions/no-debug-non-zts-/ 修改php.ini的配置
加上:extension_dir="/usr/local/php7.1/lib/php/extensions/no-debug-non-zts-20160303/"(每个人的路径可能不一样)
extension = "memcached.so
重启php-fpm . 修改php.ini文件
(php.ini文件具体位置可以通过phpinfo()函数来查看到),在php.ini文件之中加入下面这句: # vim /usr/local/php-7.0.12_fpm/lib/php.ini
extension_dir="/usr/local/php-7.0.12_fpm/lib/php/extensions/no-debug-non-zts-20151012/"
extension=memcached.so [root@szxxlfhtest02t:~]# php -m
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
dba
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
json
ldap
libxml
mbstring
mcrypt
memcache
memcached .测试是否安装成功 [root@szxxlfhtest02t:/data/www/vhosts/cmstest.chinasoft.com/httpdocs]# cat mem.php
<?php $mem = new Memcached(); //创建一个memcached对象
$mem->addServer('127.0.0.1',); //连接memcached
$mem->set("key","test");//设置一个变量到内存中,名称是key 值是test
$get_value = $mem->get('key'); //从内存中取出key的值
if($mem->getResultCode() == Memcached::RES_NOTFOUND) //如果该名称的变量没有设置
{
echo 'not set!';
}
else
{
echo $get_value;
} *************************** [root@newcms:/data/www/cms/cmsx.chinasoft.com.wx/httpdocs/public]# cat /usr/local/nginx/conf/cms.d/cmsx.chinasoft.com.wx.conf
server {
listen ;
server_name cmsx.chinasoft.com.wx cmsx.chinasoft.com.wx.wx;
access_log /data/www/logs/nginx_log/access/cmsx.chinasoft.com.wx_access.log main ;
access_log on;
error_log /data/www/logs/nginx_log/error/cmsx.chinasoft.com.wx_error.log ;
root /data/www/cms/cmsx.chinasoft.com.wx/httpdocs/public/;
index index.html index.shtml index.php ;
include rewrite.d/cmsx.chinasoft.com.wx.conf ;
error_page /.html;
access_log on; #location / {
# expires -;
# proxy_pass http://php_pool;
# include proxy_params;
#} #location / {
# index index.php index.html index.htm;
# try_files $uri $uri/ /index.php?$query_string;
#} #location ~ \.php$ {
# fastcgi_pass unix:/tmp/php-cgi.sock;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# include fastcgi_params;
#}
location / {
index index.php index.html index.htm; if (!-e $request_filename) {
rewrite . /index.php last;
}
}
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} }