Brew’ing PHP, MySQL & Nginx on Mac OS X

There are many ways to install PHP, MySQL & Nginx on Mac. Here we will be doing it using brew.

Installing PHP 5.6.10 (with FPM) on Mac OS X

Search for available PHP formulas (formula’s in homebrews are equivalent to packages in aptitude)

brew search php

It will return long list of php 5.2, 5.3, 5.4 packages. We need 5.6.10 Tap it using:

brew tap josegonzalez/php
brew tap homebrew/dupes

If you do not tap homebrew/dupes you will get Error: No available formula for zlib

Before we build PHP 5.6, you may like to exercise options using:

brew options php56

We have built it using:

brew install php56 --with-fpm  --with-imap  --without-apache --with-debug

After long wait, you can verify php & php-fpm version using php -v and php-fpm -v respectively.

Adding PHP-FPM to startup routine

Please check exact plist filename in /usr/local/Cellar/php56/5.6.10/

cp /usr/local/Cellar/php56/5.6.10/homebrew.mxcl.php56.plist  ~/Library/LaunchAgents/

To Start PHP-FPM:

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist

To Stop PHP-FPM

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist

Installing MySQL on Mac OS X

Run following command:

brew install mysql --enable-debug

In case you need mysql-workbench, please download it from here. It cannot be installed via brew.

Adding MySQL to startup routine

Please check exact plist filename in /usr/local/Cellar/mysql/

cp /usr/local/Cellar/mysql/5.6.10/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/

To Start

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

To Stop

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Manual Start/Stop

Start mysql: /usr/local/mysql/support-files/mysql.server start

Stop mysql: /usr/local/mysql/support-files/mysql.server stop

See other options – /usr/local/mysql/support-files/mysql.server -h 

Usage: mysql.server {start|stop|restart|reload|force-reload|status} [ MySQL server options ]

Changes to MySQL Config (optional)

For security
Run following command to improve security of your mysql setup. It will present you wizard to set mysql root password among other things.
mysql_secure_installation
For workbench

Following changes will make it easy to use MySQL WorkBench

ln -s /usr/local/Cellar/mysql/5.6.10 /usr/local/mysql
sudo ln -s /usr/local/Cellar/mysql/5.6.10/my.cnf /etc/my.cnf

Installing Nginx on Mac OS X

Run following command:

brew install nginx
Adding Nginx to startup routine

Please check exact plist filename in /usr/local/Cellar/mysql/

cp /usr/local/Cellar/nginx/1.4.1/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/

To Start

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

To Stop

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
Changes to Nginx Config (optional)

By default, Nginx setup expects you to define all virtual hosts in /usr/local/etc/nginx/nginx.conf

Edit default config file and following line to http{..} block

include sites-enabled/*.conf;
Next you can create  sites-available and  sites-enabled folder to manage virtual hosts config.

Troubleshooting

Finding default location of config/error files for PHP, MySQL & Nginx

I did not get any error but after getting used to Ubuntu-conventions, I struggled to find where are config/log files and other defaults are present.

3 commands below turned out to be life-saver:

  • brew list nginx
  • brew list php54
  • brew list mysql

Brew’s list command shows all files/folders created by a package. Once you see output, you will notice, why I was getting lost!

If you come across any other error, feel free to use our support forum. We will try to fix it there.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值