首先,请允许我感谢郭嘉,我的小黑T61光荣下岗了;还要感谢我的大肚老婆,赏赐重金购得MC373一台。以下操作假设您已经安装完macports,我的系统是10.6.3,10.5没测试过,不保证可用。
sudo port install nginx
cd /opt/local/etc/nginx
sudo cp nginx.conf.example nginx.conf
sudo cp mime.types.example mime.types
sudo cp fastcgi_params.example fastcgi_params
以上三个配置文件默认安装后没有,如果已经有就不用拷贝了。
加载到自动运行:
sudo launchctl load -w /Library/LaunchDaemons/org.macports.nginx.plist
下载我制作的包含php5-fpm Portfile的本地包
cd ~/ && wget http://liut.cc/DarwinPorts.tbz
解压到自己的位置 例如: /Users/liutao/
cd ~/ && tar jxvf DarwinPorts.tbz
修改自定义Port来源
sudo vim /opt/local/etc/marcports/sources.conf
在末尾添加一行(如果已经有就不要加了),实际路径根据需要修改:
file:///Users/liutao/DarwinPorts/local-sources/
然后就可以安装php5- fpm集成包。这个Port是我根据官方php-5.3.2修改而来,主要是添加了FPM和几个扩展选项,如PostgreSQL,MySQL,SOAP,GD,Tidy等,可以根据实际需要选择,FPM取自php.net的svn主干,默认有效,另外还默认有curl,iconv,mbstring,openssl 等。个人感觉,macports比FreeBSD的ports定制更容易,基于tcl的语法更简单易懂。
php5-fpm的Portfile部分内容:
# fpm
variant fpm conflicts apache apache2 fastcgi description {FPM support} {
pre-fetch {
if {"darwin" == ${os.platform} && ${os.major} < 9} {
ui_error "The suhosin variant requires Mac OS X 10.5 or greater."
return -code error "incompatible Mac OS X version"
}
}
configure.args-delete
--disable-cgi
configure.args-append
--enable-cgi --enable-fpm
startupitem.create yes
startupitem.name php-fpm
startupitem.logfile ${prefix}/var/log/php-fpm.log
startupitem.start "${prefix}/sbin/php-fpm.init start"
startupitem.stop "${prefix}/sbin/php-fpm.init stop"
startupitem.restart "${prefix}/sbin/php-fpm.init reload"
startupitem.logevents yes
post-destroot {
xinstall -m 755 -d ${destroot}${prefix}/var/log/php
xinstall -m 755 -c ${worksrcpath}/sapi/fpm/init.d.php-fpm ${destroot}${prefix}/sbin/php-fpm.init
xinstall -m 644 -c ${filespath}/php-fpm.conf ${destroot}${prefix}/etc
}
post-activate {
if {[file exists ${prefix}/etc/php-fpm.conf.default] && ![file exists ${prefix}/etc/php-fpm.conf]} {
copy ${prefix}/etc/php-fpm.conf.default ${prefix}/etc/php-fpm.conf
}
}
}
为什么叫php5-fpm这个名字呢?因为官方没有这个名称,所以会找到本地的source,要不然就得换个名字。
这时候就可以用macports来安装了,注意,如果您已经安装了官方的php5(就是默认会添加apache的那个,目前也是5.3.2,请先uninstall掉它)
sudo port install php5-fpm +postgresql +mysqlnd +soap +gd +tidy
sudo mkdir -p /opt/local/var/log/php
## 一般安装会建立,但如果没有上级(log)会建立失败,所以建议先安装nginx
加载到自动运行:
sudo launchctl load -w /Library/LaunchDaemons/org.macports.php-fpm.plist
然后就是修改nginx.conf配置来支持PHP fastcgi,这样的内容网上有很多,请自行搜索。
RSS