1.1 更新brew
brew update
1.2 首先加入Homebrew官方的几个软件源
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/php
2.1 安装MySQL
brew install mysql
cp /usr/local/Cellar/mysql/5.7.12/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
#brew设置开机启动MySQL完成后的提示信息
If you need to have this software first in your PATH run:
echo 'export PATH="/usr/local/opt/sphinx-doc/bin:$PATH"' >> ~/.zshrc
/usr/local/Cellar/mysql/5.7.20/bin/mysqld --initialize-insecure --user=king --basedir=/usr/local/Cellar/mysql/5.7.20 --datadir=/usr/local/var/mysql --tmpdir=/tmp
We've installed your MySQL database without a root password. To secure it run:
mysql_secure_installation
MySQL is configured to only allow connections from localhost by default
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.
To have launchd start mysql now and restart at login:
brew services start mysql
Or, if you don't want/need a background service you can just run:
mysql.server start
#关闭并取消MySQL的开机启动服务
brew services stop mysql
#登录&退出MySQL
mysql -uroot -p
quit
2.3 MySQL安全配置
注意: 需先运行mysql 。 否则会报错:Error: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) 提示说找不到mysql.sock。原因是mysql进程还没启动。
mysql_secure_installation
#修改密码安全策略,设置密码为123456
2.4 配置文件介绍
3.1 #brew 安装php56
#查看php5.6安装选项
brew options php56
#搜索PHP56安装包
brew search php56
#安装php56
brew install homebrew/php/php56
注意:查看php5.6安装选项发现, php56中php-fpm, nginx, mysql扩展 默认已安装
3.2 #加入开机启动
#方式一
#To have launchd start homebrew/php/php56 now and restart at login:
brew services start homebrew/php/php56
#方式二
cp /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
3.3 #替换Mac自带的PHP和php-fpm 添加环境变量
注意我们用的zsh,由于Mac自带了php和php-fpm,因此需要添加系统环境变量PATH来替代自带PHP版本(优先运行brew安装的版本)
#查看当前用的shell 并修改对应的配置文件
echo $SHELL
/usr/local/bin/zsh
#修改zash配置文件~/.zshrc
#for php
echo 'export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"' >> ~/.zshrc
#for php-fpm
echo 'export PATH="$(brew --prefix homebrew/php/php56)/sbin:$PATH"' >> ~/.zshrc
#for other brew install soft
echo 'export PATH="/usr/local/bin:/usr/local/sbin:$PATH"' >> ~/.zshrc
#更新并使配置生效
source ~/.zshrc
#在~/.zshrc 添加效果如下:
export PATH=/usr/local/opt/php56/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
说明:shell配置文件 - 设置一些环境变量
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.
~/.zshrc:该文件包含专用于你的zsh shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.
3.4 #扩展安装
等待PHP编译完成,开始安装PHP常用扩展,扩展安装过程中brew会自动安装依赖包; 如果要安装新的php扩展,可以直接安装而不用每次重新编译php,所有的扩展可以通过
brew search php56 查找扩展
#安装命令
brew install homebrew/php/php56-crypto homebrew/php/php56-igbinary homebrew/php/php56-memcache homebrew/php/php56-memcached homebrew/php/php56-mongo homebrew/php/php56-mongodb homebrew/php/php56-pthreads homebrew/php/php56-redis homebrew/php/php56-yaf homebrew/php/php56-mcrypt homebrew/php/php56-swoole homebrew/php/php56-xdebug homebrew/php/php56-opcache
#从源码开始安装 nginx , 默认情况下会采用 bottle 方式安装,bottle 方式就是安装已编译好的二进制包。
brew reinstall homebrew/php/php56-crypto --build-from-source
brew install homebrew/php/php56-xdebug --build-from-source
3.5 #启动 停止 验证php56安装结果
杀死进程=> sudo pkill php-fpm
重启进程=> sudo /usr/local/opt/php56/sbin/php-fpm --fpm-config
#配置文件位置
/usr/local/etc/php/5.6/php-fpm.conf
3.6 卸载 清除垃圾信息
#卸载
brew uninstall php56
brew cleanup -s
3.7 PHP命令
php –v 即可查看当前php的版本
php -m 会显示当前php加载的有效模块
php -i 输出无html格式的phpinfo
php -i |grep mongo 查看你的扩展是否安装成功
php -ini 输出当前php加载ini配置文件的数量,路径信息。
php –a 命令打开交互模式,输入一行代码,php会实时输出结果。
php -l hello.php 命令行下检测php文件的语法错误
php -s hello.php 将php代码高亮原样输出
php -rf function 打印出该函数的语法简介
php -re function 查看扩展
php-fpm -v 查看php-fpm版本
php --ini 查看所有配置文件位置
3.8 php70 安装
注意: 安装PHP70 因为PHP71暂时没有memcache 扩展
brew options php70 #查看php70安装选项
brew install php70
PHP70和PHP56安装差不多,但有几个地方主要注意:
please ‘brew unlink php56’ before continuing => 提示在安装PHP70之前需要去除之前php56的链接,这样才可以安装PHP70
#PHP扩展安装 扩展有区别
brew install homebrew/php/php70-igbinary homebrew/php/php70-memcache homebrew/php/php70-memcached homebrew/php/php70-mongodb homebrew/php/php70-pthreads homebrew/php/php70-redis homebrew/php/php70-yaf homebrew/php/php70-mcrypt homebrew/php/php70-swoole homebrew/php/php70-xdebug homebrew/php/php70-opcache homebrew/php/php70-lua homebrew/php/php70-gmagick
4.1 方式一 通过php-version实现版本控制
brew install php-version
#只生效一次
source $(brew --prefix php-version)/php-version.sh && php-version 5
要想长期生效需要 把这代码放到~/.bashrc 或者 ~/.zshrc
php-version #查看现有版本
php -version 7.0.25 #PHP版本切换
4.2 方式二 brew link|unlink
通过brew安装的php可以通过brew link和brew unlink来切换不同版本。
4.3 方式三
http://www.piaoyi.org/php/Mac-brew-php.html
注意:安装多个PHP版本的时候, 要注意更改配置目录,其实本质上还是启动程序优先级问题.比如设置php56 在php70之前, 则用到的就是php56
brew install nginx
#主配置文件
/usr/local/etc/nginx/nginx.conf
#启动及相关命令
nginx #启动
nginx -s reload|reopen|stop|quit #重载/~/停止/~
nginx -t #校验配置文件是否正确
nginx -V #查看安装Nginx时的编译选项(pid位置, Log日志 配置文件 安装目录 安装模块等)
nginx安装后默认监听8080端口,可以访问http://localhost:8080查看状态。
#如果要想监听80端口需要root权限,运行
sudo chown root:wheel /usr/local/Cellar/nginx/1.6.2/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.6.2/bin/nginx
#设置开机启动
cp /usr/local/Cellar/nginx/1.10.0/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
#安装命令
brew install redis
#安装完成后的提示信息
To have launchd start redis now and restart at login:
brew services start redis #同时会把服务加入开机启动项
Or, if you don’t want/need a background service you can just run:
redis-server /usr/local/etc/redis.conf
#手动加入开机启动
cp /usr/local/Cellar/redis/4.0.2/homebrew.mxcl.redis.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
#停止redis server的自启动
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
#使用配置文件启动redis server
$ redis-server /usr/local/etc/redis.conf
#停止redis server服务
redis-cli shutdown
#测试redis server是否启动
redis-cli ping
#redis 配置文件的位置
/usr/local/etc/redis.conf
#配置后台进程启动
vim /usr/local/etc/redis.conf
修改 daemonize no 为 daemonize yes 默认启动就后台运行
# redis 设置密码
vim /usr/local/etc/redis.conf
#修改密码
requirepass foobared => requirepass pwdcode
#重启redis
先登录redis =>
shutdown #关闭服务 =>
/usr/local/opt/redis/bin/redis-server /usr/local/etc/redis.conf #启动服务
登录redis,发现可以登上,但是执行具体命令是提示操作不允许
redis-cli -h 127.0.0.1 -p 6379
尝试用密码登录并执行具体的命令看到可以成功执行
redis-cli -h 127.0.0.1 -p 6379 -a pwdcode
brew install memcached
#To have launchd start memcached now and restart at login:
brew services start memcached
#Or, if you don’t want/need a background service you can just run:
/usr/local/opt/memcached/bin/memcached
# 加入开机启动
cp /usr/local/Cellar/memcached/1.5.2/homebrew.mxcl.memcached.plist ~/Library/LaunchAgents
launchctl load/unload ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist
#连接
telnet 127.0.0.1 11211
brew install composer node