马燕龙个人博客 - Linux
type: channel
link: https://mayanlong.com/category/linux/
description: Linux
items: PHP 安装 phpredis 扩展
items: Redis 安装
items: MAMP 环境下为 php 添加 pcntl 扩展

PHP 安装 phpredis 扩展
type: item
date: 2016-11-26T02:59:00+00:00
description: 本文主要介绍为 PHP 安装 phpredis 扩展，并用 PHP 代码连接 Redis 服务器。一、安装 phpredis 扩展1. Linux、macOS 下安装#. 下载、解压、安装、编译：$ curl -O https://nodeload.github.com/nicolasff/phpredis/zip/master $ tar -zxf master $ cd phpredis-master/ $ phpize $ ./configure --with-php-config=/usr/bin/php-config $ make $ sudo make install Password: Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20131226/编译成功后会提示一个路径，表示已经将扩展放置在该位置。#. 修改 PHP 的配置文件php.ini，加载 redis 模块：extension=redis.so#. 重启apache，检测是否安装成功：$ sudo apachectl restart $ php -m | grep redis如果出现 redis 则表示安装成功。2. Windows 下安装Windows 下安装 phpredis 扩展，只需下载对应的 php_redis.dll 扩展即可。下载地址：http://windows.php.net/downloads/pecl/snaps/redis/#. 首先查看本地的 php 信息：#. 然后选择对应的 phpredis 版本进行下载：#. 将下载解压后的 .dll 文件放到 PHP 的 ext 目录，并修改 php.ini 配置文件，添加如下内容：;extension=php_igbinary.dll extension=php_redis.dll#. 重启apache，检测是否安装成功：如果出现该信息，则说明安装成功；如果 apache 重启失败，说明下载的扩展和 PHP 版本不匹配，请认真检查后重新下载。二、PHP 连接 Redis 服务器下面演示使用 PHP 连接 Redis 服务器，首先开启 Redis 服务器。没有安装的童鞋请参考 《Redis 安装（一）》。#. 在服务器根目录下新建 redis.php，代码如下：<?php //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); //查看服务是否运行 echo "Server is running: " . $redis->ping();#. 访问 http://localhost/redis.php，如果出现以下内容，则说明连接成功：Server is running: +PONG本文首发于马燕龙个人博客，欢迎分享，转载请标明出处。马燕龙个人博客：https://www.mayanlong.com马燕龙个人微博：http://weibo.com/imayanlong马燕龙Github主页：https://github.com/yanlongma

Redis 安装
type: item
date: 2016-11-20T09:35:00+00:00
description: 一、前言安装 Redis 是开始 Redis 学习之旅的第一步，安装之前先来个简单的介绍。1. 版本规则Redis 约定次版本号（即第一个小数点后的数字）为偶数的版本是稳定版，如：2.6，2.8；奇数版本是非稳定版，如：2.7，2.9。推荐生产环境使用稳定版本，目前最新的稳定版本是 3.2.5。2. 操作系统Redis 兼容大部分 POSIX 系统 ，包括 Linux、macOS 等常用操作系统，在这些系统中推荐直接下载 Redis 源代码编译安装以获得最新的稳定版本。Redis 官方不支持 Windows，但微软发布了一个可以在 Windows 运行的 Redis 分支，需要的童鞋也可以下载使用。二、安装下面介绍 Redis 的安装，只涉及亲测过的 Linux、macOS 和 Windows 三个操作系统。1. Linux、macOS 下安装下载、解压、安装：$ wget http://download.redis.io/releases/redis-3.2.5.tar.gz $ tar xzf redis-3.2.5.tar.gz $ cd redis-3.2.5 $ make编译成功后，就可以开启 Redis 服务端，命令如下：$ src/redis-server 然后打开 Redis 客户端与服务端进行互动，命令如下：$ src/redis-cli 127.0.0.1:6379> set name sean OK 127.0.0.1:6379> get name "sean" 127.0.0.1:6379>2. Windows 下安装当前 Redis 的 windows 最新稳定版本为 3.2.100，此处我们选择下载 Redis-x64-3.2.100.zip 即可。地址为：https://github.com/MSOpenTech/redis/releases。下载后解压压缩包，将解压后的文件夹复制到 D 盘下，并重命名为 redis。下面我们开启 Redis 服务端，命令如下：C:\Users\sean> D: D:\>cd redis D:\redis>redis-server.exe redis.windows.conf打开 Redis 客户端与服务端进行互动，命令如下：C:\Users\sean> D: D:\>cd redis D:\redis>redis-cli.exe 127.0.0.1:6379> set name sean OK 127.0.0.1:6379> get name "sean" 127.0.0.1:6379>注：（1）. Redis 服务端默认加载 redis.conf 配置文件，由于压缩包中没有该文件，我们在此指定配置文件为 redis.windows.conf，大家可以根据自己的需要指定。（2）. 可以把redis的路径加到系统的环境变量中，这样以后就省得再切换磁盘和输路径啦！三、相关资料Redis 官网：http://redis.ioRedis Windows 版本：https://github.com/MSOpenTech/Redis本文首发于马燕龙个人博客，欢迎分享，转载请标明出处。马燕龙个人博客：https://www.mayanlong.com马燕龙个人微博：http://weibo.com/imayanlong马燕龙Github主页：https://github.com/yanlongma

MAMP 环境下为 php 添加 pcntl 扩展
type: item
date: 2016-08-27T01:54:00+00:00
description: 一、前言：pcntl 介绍：pcntl 扩展可以支持 PHP 的多线程操作。（非Unix类系统不支持此模块）phpize 介绍：phpize 可以用来给 PHP 动态的添加扩展。比如编译 PHP 时忘记添加某扩展，后来想添加该扩展，即可以使用 phpize 动态的添加该扩展。本文将介绍如何使用 phpize 给 Mac下的集成环境 MAMP 添加 PHP 的 pcntl 扩展。类 Unix 的环境都可以使用本方法安装，注意灵活变通。二、安装：下面演示的是给 MAMP的PHP 5.6.10版本添加 pcntl扩展。下载和本地 PHP 版本对应的源码包，地址为：http://www.php.net/releases/然后按照如下步骤进行编译：# 解压源码包并初始化目录 $ tar -xzvf php-5.6.10.tar.gz $ mv php-5.6.10 php $ mkdir -p /Applications/MAMP/bin/php/php5.6.10/include $ mv php /Applications/MAMP/bin/php/php5.6.10/include # 检测系统配置 $ cd /Applications/MAMP/bin/php/php5.6.10/include/php $ ./configure # 添加一些标志来告诉系统怎样编译。MAMP PHP已经建成这样，如果不这样做，编译的共享对象将无法工作。 $ MACOSX_DEPLOYMENT_TARGET=10.10 $ CFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" $ CCFLAGS="-arch i386 -arch x86_64 -g -Os -pipe" $ CXXFLAGS="-arch i386 -arch x86_64 -g -Os -pipe" $ LDFLAGS="-arch i386 -arch x86_64 -bind_at_load" $ export CFLAGS CXXFLAGS LDFLAGS CCFLAGS MACOSX_DEPLOYMENT_TARGET # 编译 pcntl.so 文件 $ cd ext/pcntl $ phpize $ ./configure $ make # 将编译出来的扩展文件pcntl.so 移动到php的扩展目录 $ cp modules/pcntl.so /Applications/MAMP/bin/php/php5.6.10/lib/php/extensions/no-debug-non-zts-20131226/ # 向php.ini 文件中添加该扩展 $ echo "extension=pcntl.so" >> /Applications/MAMP/bin/php/php5.6.10/conf/php.ini # pcntl现在应该已经启用，要检查是否安装成功，只需运行： $ /Applications/MAMP/bin/php/php5.6.10/bin/php --ri pcntl pcntl pcntl support => enabled 如出现以上信息，则说明该扩展已安装成功。参考资料：PHP 官网：http://php.net/manual/zh/book.pcntl.php交友互动：本文首发于马燕龙个人博客，欢迎分享，转载请标明出处。马燕龙个人博客：https://www.mayanlong.com马燕龙个人微博：http://weibo.com/imayanlong马燕龙Github主页：https://github.com/yanlongma