PHP7安装Redis扩展的方法

 更新时间:2016年11月25日 15:27  点击:1768
PHP7安装Redis非常的简单只需要几行命令就可以了,下面我们为各位介绍windows及linux中PHP7安装Redis的方法。

linux中PHP7安装Redis扩展

1.依次执行

wget -c https://github.com/phpredis/phpredis/archive/php7.zip
unzip php7.zip

cd phpredis-php7
/YouPath/phpize
./configure --with-php-config=/YouPath/php-config
make
make install

2.加入php.ini
3.重启httpd
4.查看探针

windowsPHP7安装Redis扩展

这里提供php5.3版本的redis的php扩展压缩包(里面有个dll):https://github.com/nicolasff/phpredis/downloads

解压后把dll放到php的ext目录下,打开php.ini,增加一行:

extension=php_redis.dll

然后重启apache即可

例子

<?php

//获取投票的信息的ID
$aid = isset($_GET['aid']) ? ereg_replace("[^0-9]", "", $_GET['aid']) : 0;

//当前投票的数字,指的是在redis中的数据
$this_click_num = 0;

if($aid>2){
 //设定写回的投票数的最大值,到了此值就写回mysql
 $update_till_num = 50;
 
 //创建redis对象
 $r = new Redis();
 $r->connect('127.0.0.1',6379);
 //得到现在是第几个数据了
 $this_click_num = $r->get('count_xin_newgame:'.$aid);
 //点击数加1
 $r->set('count_xin_newgame:'.$aid,$this_click_num+1);
 if($this_click_num>=$update_till_num)
 {
  //如果点击数超过了设定数,那么就把数据写到mysql
  if($this_click_num>$update_till_num)
  require_once(dirname(__FILE__)."/db.php");
  //更新数据库
  $db->ExecuteNoneQuery(
   "UPDATE `addonnewgame`
    SET `game_num` = game_num + '{$update_till_num}'
    WHERE `dede_addonnewgame`.`aid` ={$aid};"
  );
  //重置投票数目为0
  $r->set('count_xin_newgame:'.$aid,0);
 }
 $r->setTimeout('count_xin_newgame:'.$aid,7*24*60*60);
 exit($this_click_num);
}
?>

前面一篇文章告诉各位简单的安装Redis的方法了,下面我们进行升级了实现在linux中编译安装PHP7并安装Redis扩展Swoole扩展的方法。

编译安装PHP7并安装Redis扩展Swoole扩展

在编译php7的机器上已经有编译安装过php5.3以上的版本,从而依赖库都有了

本php7是编译成fpm-php 使用的,

如果是apache那么编译参数应该为

--with-apxs2=/usr/local/apache/bin/apxs

编译安装php7

wget -c http://www.php.net/distributions/php-7.0.0.tar.gz
tar zxvf php-7.0.0.tar.gz
cd php-7.0.0

./configure \
--prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir \
--with-freetype-dir=/usr/local/freetype \
--with-jpeg-dir -\
-with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--with-mcrypt \
--enable-ftp \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--with-gettext \
--disable-fileinfo \
--enable-opcache

make ZEND_EXTRA_LIBS='-liconv'

make install

cp php.ini-production /usr/local/php7/etc/php.ini

cd ..

编译安装php7的redis扩展支持


wget -c https://github.com/phpredis/phpredis/archive/php7.zip
unzip php7.zip

cd phpredis-php7
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make
make install
cd ..

/usr/local/php7/etc/php.ini

中加入

extension=redis.so

编译安装php7的swoole


wget -c https://github.com/swoole/swoole-src/archive/swoole-1.7.21-stable.tar.gz
tar zxvf swoole-1.7.21-stable.tar.gz
cd swoole-src-swoole-1.7.21-stable/
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make
make install
cd ..

/usr/local/php7/etc/php.ini

中加入

extension=swoole.so

下面我们来为各位介绍一篇关于Linux和windows上安装php7与安装 yaf例子,希望这篇文章能够帮助到各位朋友,有兴趣的朋友可以进来看看。

1.windows上安装php7 alpha只需要从官网上 http://windows.php.net/qa/ 下载然后直接配置就可以,如果你不会你可以下载 PHP Manager,直接配置就可以了。这个时候需要测试,打开命令行窗口,然后到你的 php7 目录下,php -m如果弹出如下的窗口
1111

这时候因为你缺少Visual C++ Redistributable Package for Visual Studio 2015你可以点击这里下载
http://www.microsoft.com/zh-CN/download/details.aspx?id=46881,安装后就可以了。

linux

Linux 和以前一样安装,但是你会发现php7 alpha并不和以前 dev 一样,少了--with-mysql的选项,也就是不加载这个扩展了,以后就用mysqli和Pdo吧

从官方下载安装包 https://downloads.php.net/~ab/

wget https://downloads.php.net/~ab/php-7.0.0alpha1.tar.gz
#解压
tar zxf php-7.0.0alpha1.tar.gz
#进入目录
cd  php-7.0.0alpha1
#configure
--prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-pdo-mysql=/usr/local/mysql/ \
--with-iconv-dir \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--with-mcrypt \
--enable-ftp \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip--enable-soap \
--without-pear \
--with-gettext \
--disable-fileinfo \
--enable-maintainer-zts
#编译安装
make ZEND_EXTRA_LIBS='-liconv' && make install
#配置
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php7-fpm
cp php.ini-production      /usr/local/php7/etc/php.ini
#然后在自己配置下php-fpm.conf
安装YAF
#下载
git clone https://github.com/laruence/php-yaf.git
cd php-yaf
#查看所有分支,这时候你就看到了php7的分支
git branch -a
git checkout -b php7 origin/php7
#开始编译安装
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make && make install
#配置
vim /usr/local/php7/etc/php.ini
#加入如下这行
extension = 安装完成显示的目录地址/yaf.so

Mac OS X安装PHP扩展支持是有许多的方法了这个安装与linux系统中有一点,希望这篇文章能够帮助到各位朋友。

mac os x 默认已经安装了php,但是开发系统中的一些常用的PHP扩展库是没有的,需要自己手动安装,现在记录一下这个,以备查询。

安装PHP扩展要求你的Mac系统已经安装了Xcode环境和命令行开发工具,如果还没安装,请先使用Shell安装

xcode-select --install

为了扩展管理方便,首先来安装pecl扩展管理器。

 cd /usr/lib/php
sudo php install-pear-nozlib.phar

安装Redis、Memcache、Mongo等扩展。

sudo pecl install redis
sudo pecl install mongo

将扩展配置添加的php.ini文件中:

extension=mongo.so
extension=redis.so

PHP编译常用命令包括哪些呢,如果各位对于这个问题不是很了解可以和小编一起来了解一下吧,希望文章对各位有帮助。

--prefix=/usr/local/php //指定 php 安装目录
--with-apxs2=/usr/local/apache/bin/apxs //整合apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块
--with-config-file-path=/usr/local/php/etc //指定php.ini位置
--with-MySQL=/usr/local/mysql //mysql安装目录,对mysql的支持
--with-mysqli=/usr/local/mysql/bin/mysql_config //mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定。
--enable-safe-mode 打开安全模式
--enable-ftp 打开ftp的支持
--enable-zip 打开对zip的支持
--with-bz2 打开对bz2文件的支持
--with-jpeg-dir 打开对jpeg图片的支持
--with-png-dir 打开对png图片的支持
--with-freetype-dir 打开对freetype字体库的支持
--without-iconv 关闭iconv函数,各种字符集间的转换
--with-libXML-dir 打开libxml2库的支持
--with-XMLrpc 打开xml-rpc的c语言
--with-zlib-dir 打开zlib库的支持
--with-gd 打开gd库的支持
--enable-gd-native-ttf 支持TrueType字符串函数库
--with-curl 打开curl浏览工具的支持
--with-curlwrappers 运用curl工具打开url流
--with-ttf 打开freetype1.*的支持,可以不加了
--with-xsl 打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件
--with-gettext 打开gnu 的gettext 支持,编码库用到
--with-pear 打开pear命令的支持,PHP扩展用的
--enable-calendar 打开日历扩展功能
--enable-mbstring 多字节,字符串的支持
--enable-bcmath 打开图片大小调整,用到zabbix监控的时候用到了这个模块
--enable-sockets 打开 sockets 支持
--enable-exif 图片的元数据支持
--enable-magic-quotes 魔术引用的支持
--disable-rpath 关闭额外的运行库文件
--disable-debug 关闭调试模式
--with-mime-magic=/usr/share/file/magic.mime 魔术头文件位置

CGI模式常用命令:

--enable-fpm //打上PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序
--enable-fastCGI //支持fastcgi方式启动PHP
--enable-force-CGI-redirect //重定向方式启动PHP
--with-ncurses //支持ncurses 屏幕绘制以及基于文本终端的图形互动功能的动态库
--enable-pcntl //freeTDS需要用到的,可能是链接mssql 才用到
--with-mcrypt //mcrypt算法的扩展
--with-mhash //mhash算法的扩展

以上函数库需要安装

--with-gmp 应该是支持一种规范
--enable-inline-optimization 优化线程
--with-openssl //openssl的支持,加密传输时用到的
--enable-dbase //建立DBA 作为共享模块
--with-pcre-dir=/usr/local/bin/pcre-config //perl的正则库案安装位置
--disable-dmalloc
--with-gdbm //dba的gdbm支持
--enable-sigchild
--enable-sysvsem
--enable-sysvshm
--enable-zend-multibyte //支持zend的多字节
--enable-mbregex
--enable-wddx
--enable-shmop
--enable-soap

[!--infotagslink--]

相关文章

  • PHP添加MongoDB扩展实例教程

    由于要使用mikoomi mongodb plugin插件,所以需要php对mongodb的扩展支持,默认通过源安装的php并没有mongodb的扩展支持,具体可以通过php -m|grep mongo 验证 。这里就结...2016-11-25
  • PHP7快速编译安装的步骤

    编译安装非常的简单了我们现在的php版本已经到了php7了,下文小编来为各位介绍一篇关于PHP7快速编译安装的步骤,希望文章能够帮助到各位。 一、安装必要一些依赖 yum...2016-11-25
  • php 中file_get_contents超时问题的解决方法

    file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25
  • HTTP 408错误是什么 HTTP 408错误解决方法

    相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
  • php抓取网站图片并保存的实现方法

    php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
  • Android子控件超出父控件的范围显示出来方法

    下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
  • Rstudio中安装package出现的问题及解决

    这篇文章主要介绍了Rstudio中安装package出现的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • ps把文字背景变透明的操作方法

    ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
  • Linux下PHP安装curl扩展支持https例子

    安装curl扩展支持https是非常的重要现在许多的网站都使用了https了,下面我们来看一篇关于PHP安装curl扩展支持https例子吧。 问题: 线上运行的lamp服务器,默认yu...2016-11-25
  • intellij idea快速查看当前类中的所有方法(推荐)

    这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • Mysql select语句设置默认值的方法

    1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
  • js导出table数据到excel即导出为EXCEL文档的方法

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13
  • mysql 批量更新与批量更新多条记录的不同值实现方法

    批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
  • ps怎么制作倒影 ps设计倒影的方法

    ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果&#819...2017-07-06
  • js基础知识(公有方法、私有方法、特权方法)

    本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
  • PHP编译安装后PHP-FPM使用笔记

    PHP-FPM我们相信各位用高版本的php经常使用到了,下面整理了一些关于PHP-FPM的笔记,有兴趣的可进来看看。 今天赶上了123System OPenVZ VPS全场半价的机会,购入了一...2016-11-25
  • 安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法

    手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21
  • PHP 验证码不显示只有一个小红叉的解决方法

    最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
  • c#中分割字符串的几种方法

    单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25
  • js控制页面控件隐藏显示的两种方法介绍

    javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: 复制代码 代码如下: document.all["panelsms"].style.visibility="hidden"; document.all["panelsms"].style.visi...2013-10-13