简介
MNMP
是 macOS
, Nginx
, MySQL
, PHP
组合开发环境的简称
Mac
准备
请先安装 Homebrew - The missing package manager for macOS
旧的安装方式
Homebrew/php deprecation #4721
这种安装方式已经不被推荐,相关的 Formula
已经被迁移到 homebrew-core 下
1
2
3
4
| $ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/php
$ brew tap homebrew/homebrew-php
|
新的安装方式
php: import from homebrew/php #16067
- 默认了一些必要的扩展(
opcache/openssl
等) - 其它扩展通过
pecl
去安装
Nginx
安装
1
2
| $ brew info nginx
$ brew install nginx
|
操作
1
2
3
| $ sudo brew services start nginx
$ sudo brew services restart nginx
$ sudo brew services stop nginx
|
开机运行
1
2
| $ cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
|
参考
MySQL
安装
1
2
3
4
| $ brew install mysql
$ unset TMPDIR
$ mysqld --initialize-insecure --explicit_defaults_for_timestamp=1 --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
$ mysql_secure_installation
|
PHP
安装
旧的安装方式
1
2
| $ brew info php71
$ brew install php71
|
新的安装方式
1
2
| $ brew info php@7.1
$ brew install php@7.1
|
PHP-FPM: Configuration the Listen Directive
PHP-FPM: Configuration the Listen Directive
Unix Sockets
1
2
3
4
5
6
7
| // www.conf
listen = /var/run/php71-fpm.sock
listen.owner = www-data
listen.group = www-data
// nginx.conf
fastcgi_pass unix:/var/run/php71-fpm.sock;
|
TCP Sockets
1
2
3
4
5
6
| // www.conf
Listen 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
// nginx.conf
fastcgi_pass 127.0.0.1:9000;
|
扩展安装
旧的扩展安装方式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| // Redis
$ brew install --HEAD homebrew/php/php71-redis
// Memcached
$ brew install --HEAD homebrew/php/php71-memcached
// Opcache
$ brew install php71-opcache
// Phalcon
$ brew install php71-phalcon
// Mongodb
$ brew install php71-mongodb
|
Intl
扩展安装
1
2
3
4
5
| // php71
$ brew install php71-intl
// php70
$ brew install -s php70-intl
|
新的扩展安装方式
必要是请使用 sudo
执行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| // Igbinary
$ pecl install igbinary
// Mongodb
$ pecl install mongodb
// Redis
$ pecl install redis
// Memcached
$ pecl install memcached
// Xdebug
$ pecl install xdebug
|
Phalcon
安装
1
2
3
4
5
6
7
8
9
10
| $ which php
$ git clone https://github.com/phalcon/cphalcon
$ cd cphalcon/build/php7/64bits
$ sudo /usr/local/opt/php@7.1/bin/phpize
$ sudo ./configure --with-php-config=/usr/local/opt/php@7.1/bin/php-config
$ cd /usr/local/include
$ ls -s ../opt/openssl/include/openssl .
$ cd -
$ sudo make
$ sudo make install
|
路径
将环境变量添加到 ~/.zshrc
或者 ~/.bashrc
中并进行 source ~/.zshrc
或者 source ~/.bashrc
旧的路径
1
2
| export PATH="$(brew --prefix homebrew/php/php71)/bin:$PATH"
export PATH="$(brew --prefix php71)/sbin:$PATH"
|
新的路径
1
2
| export PATH="/usr/local/opt/php@7.1/bin:$PATH"
export PATH="/usr/local/opt/php@7.1/sbin:$PATH"
|
操作
1
2
3
| $ brew services start php71
$ brew services restart php71
$ brew services stop php71
|
开机运行
1
2
| $ cp /usr/local/opt/php71/homebrew.mxcl.php71.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php71.plist
|
多版本 PHP
安装多版本 PHP
1
2
| $ brew unlink php[55,56,70,71...]
$ brew install php[55,56,70,71...]
|
切换 PHP
版本
1
| $ brew-php-switcher [55,56,70,71...] -s
|