mac lion下自带的apache,扩展很少,另外我自己尝试用php源码编译未通过,因为决定用一个集成的mamp,那就是xampp(一定要安装那个xampp开发包,不然编译php扩展的时候会出错)。在windows和linux 下安装一些程序或者php的扩展资料很多,而关于mac最新版10.7.4的资料极少。顺便提下mac的好用的安装工具,一个是MacPort,一个是Homebrew.macport可能被墙,安装时可能会卡住。
下面进入正题,例如今天先安装redis和php-redis。关于redis for mac的资料在 ,顺便说下让redis开机自动运行的设置: 说的很清楚。我还是引用过来作为参考,注意我加粗加红的地方。
If you’re developing on the mac using and want it to start automatically on boot, you’ll want to leverage the OSX
launchd
system to run it as a . A User Daemon is a non-gui program that runs in the background as part of the system. It isn’t associated with your user account. If you only want redis to launch when a particular user logs in, you’ll want to make a User Agent instead.From the command line, create a plist file as root in the
/Library/LaunchDaemons
directory with your favorite text editor:sudo vim /Library/LaunchDaemons/io.redis.redis-server.plistPaste in the following contents and modify it to point it to wherever you’ve got
redis-server
installed and optionally pass the location of a config file to it (delete the redis.conf line if you’re not using one):Label io.redis.redis-server ProgramArguments /usr/local/bin/redis-server /usr/local/etc/redis.conf RunAtLoad Make sure that you actually have a
redis.conf
file at the location above. If you’ve installed it with that should be the correct location.You’ll then need to load the file (one time) into launchd with
launchctl
:sudo launchctl load /Library/LaunchDaemons/io.redis.redis-server.plistRedis will now automatically be started after every boot. You can manually start it without rebooting with:
sudo launchctl start io.redis.redis-serverYou can also shut down the server with
sudo launchctl stop io.redis.redis-serverOr you could add these aliases to your bash/zsh rc file:
alias redisstart='sudo launchctl start io.redis.redis-server'alias redisstop='sudo launchctl stop io.redis.redis-server'If you’re having some sort of error (or just want to watch the logs), you can just fire up
Console.app
to watch the redis logs to see what’s going on.
说了这么多,还没有开始安装php-redis.下面开始:
首先用git从载源码。然后依次执行以下命令:
sudo /Applications/XAMPP/xamppfiles/bin/phpize
sudo MACOSX_DEPLOYMENT_TARGET=10.7 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" ./configure --enable-redis --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config
sudo make && sudo make install
然后修改php.ini(增加:extension=redis.so),重启xampp服务就可以了。
示例代码
<?php
echo 'phpredis sample:<br />';
error_reporting(E_ALL);
ini_set('display_errors','ON');
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$redis->set('first_key_phpredis', 'Hello world');
);