# chmod u+w /etc/php.ini
安装PHP扩展
/Library/Server/Web/Config/php 这个目录并不存在,或者Mac OS X Server版本有吧,不知道,手动创建他,以root权限
# mkdir -p /Library/Server/Web/Config/php
编译扩展,brewhome是另起炉灶,brew方式安装扩展需要依赖php,如php54-redis会依赖php54,至于编译出来的扩展是否可以配置到自带的,没有实验过。下面以php_discuz扩展(https://github.com/potterhe/php_discuz下载)为例。
假如扩展源码在/Users/apple/php_discuz目录
$ ./configure
$ make
扩展编译后,默认会存储在 /Users/apple/php_discuz/modules/discuz.so
将扩展在配置文件中打开
$ echo "extension=/Users/apple/php_discuz/modules/discuz.so" > /Library/Server/Web/Config/php/discuz.ini
测试验证
$ php -i|grep discuz
discuz support => enabled
运行用例测试
$ php -f /Users/apple/php_discuz/discuz.php
#测试php-fpm配置
php-fpm -t
php-fpm -c /usr/local/etc/php/5.5/php.ini -y /usr/local/etc/php/5.5/php-fpm.conf -t
#启动php-fpm
php-fpm -D
php-fpm -c /usr/local/etc/php/5.5/php.ini -y /usr/local/etc/php/5.5/php-fpm.conf -D
#关闭php-fpm
kill -INT `cat /usr/local/var/run/php-fpm.pid`
#重启php-fpm
kill -USR2 `cat /usr/local/var/run/php-fpm.pid`
#也可以用上文提到的brew命令来重启php-fpm,不过他官方不推荐用这个命令了
brew services restart php55
#还可以用这个命令来启动php-fpm
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist
启动php-fpm之后,确保它正常运行监听9000端口:
lsof -Pni4 | grep LISTEN | grep php
php-fpm 30907 calvin 9u IPv4 0xf11f9e8e8033a2a7 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 30917 calvin 0u IPv4 0xf11f9e8e8033a2a7 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 30918 calvin 0u IPv4 0xf11f9e8e8033a2a7 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 30919 calvin 0u IPv4 0xf11f9e8e8033a2a7 0t0 TCP 127.0.0.1:9000 (LISTEN)
#正常情况,会看到上面这些进程
PHP-FPM开机启动:
ln -sfv /usr/local/opt/php55/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php55.plist
安装php composer
brew install composer
#检查一下情况
composer --version
Composer version 1.0.0-alpha8 2014-01-06 18:39:59
redis memcached这些软件brew 已经自动依赖安装上,如果想开机自动启动,或者查看使用说明
brew info redis
即可。另外,composer的中文文档:猛戳这里
安装Nginx
brew install nginx --with-http_geoip_module
Nginx启动关闭命令:
#测试配置是否有语法错误
nginx -t
#打开 nginx
sudo nginx
#重新加载配置|重启|停止|退出 nginx
nginx -s reload|reopen|stop|quit
#也可以使用Mac的launchctl来启动|停止
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
Nginx开机启动
ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
Nginx监听80端口需要root权限执行,因此:
sudo chown root:wheel /usr/local/Cellar/nginx/1.6.0_1/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.6.0_1/bin/nginx