Mac系統(tǒng)下使用brew搭建PHP(LNMP/LAMP)開發(fā)環(huán)境
Mac下搭建lamp開發(fā)環(huán)境很容易,有xampp和mamp現(xiàn)成的集成環(huán)境。但是集成環(huán)境對于經(jīng)常需要自定義一些配置的開發(fā)者來說會非常麻煩,而且Mac本身自帶apache和php,在brew的幫助下非常容易手動搭建,可控性很高。
Brew
brew對于mac,就像apt-get對于ubuntu,安裝軟件的好幫手,不能方便更多…
brew的安裝方式如下:
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
brew常用選項(xiàng)
brew install xxx
brew uninstall xxx
brew list
brew update xxx
Apache || Nginx
Apache
Apache的話使用mac自帶的基本就夠了,我的系統(tǒng)是10.9,可以使用以下命令控制Apache
sudo apachectl start
sudo apachectl restart
sudo apachectl stop
唯一要改的是主目錄,mac默認(rèn)在home下有個(gè)sites(站點(diǎn))目錄,訪問路徑是
http://localhost/~user_name
這樣很不適合做開發(fā)用,修改/etc/apache2/httpd.conf內(nèi)容
DocumentRoot "/Users/username/Sites"
<Directory />
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
這樣sites目錄就是網(wǎng)站根目錄了,代碼都往這個(gè)下頭丟
Nginx
要使用Nginx也比較方便,首先安裝
brew install nginx
啟動關(guān)閉Nginx的命令如下(如果想要監(jiān)聽80端口,必須以管理員身份運(yùn)行)
#打開 nginx
sudo nginx
#重新加載配置|重啟|停止|退出 nginx
nginx -s reload|reopen|stop|quit
#測試配置是否有語法錯(cuò)誤
nginx -t
配置Nginx
cd /usr/local/etc/nginx/
mkdir conf.d
修改Nginx配置文件
vim nginx.conf
主要修改位置是最后的include
worker_processes 1;
error_log /usr/local/var/log/nginx/error.log warn;
pid /usr/local/var/run/nginx.pid;
events {
worker_connections 256;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /usr/local/var/log/nginx/access.log main;
port_in_redirect off;
sendfile on;
keepalive_timeout 65;
include /usr/local/etc/nginx/conf.d/*.conf;
}
修改自定義文件
vim ./conf.d/default.conf
增加一個(gè)監(jiān)聽端口
server {
listen 80;
server_name localhost;
root /Users/username/Sites/; # 該項(xiàng)要修改為你準(zhǔn)備存放相關(guān)網(wǎng)頁的路徑
location / {
index index.php;
autoindex on;
}
#proxy the php scripts to php-fpm
location ~ \.php$ {
include /usr/local/etc/nginx/fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
}
}
這個(gè)時(shí)候還不能訪問php站點(diǎn),因?yàn)檫€沒有開啟php-fpm。
雖然mac 10.9自帶了php-fpm,但是由于我們使用了最新的PHP,PHP中自帶php-fpm,所以使用PHP中的php-fpm可以保證版本的一致。
這里的命令在安裝完下一步的php后再執(zhí)行
sudo nginx
sudo php-fpm -D
PHP
PHP在mac下默認(rèn)安裝了,但是不好控制版本,利用brew可以再mac下安裝最新版本,甚至是多個(gè)版本,我裝了php5.5
brew update
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
# brew install php55 --with-fpm #Nginx
brew install php55 #Apache
然后修改php的cli路徑和apache使用的php模塊。在.bashrc或.zshrc里頭加以下內(nèi)容
#export PATH="$(brew --prefix josegonzalez/php/php55)/bin:$PATH"
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
就用剛剛安裝的php代替了系統(tǒng)默認(rèn)cli的php版本。然后在/etc/apache2/httpd.conf下增加
LoadModule php5_module /usr/local/Cellar/php55/5.5.8/libexec/apache2/libphp5.so
這樣就對apache使用的php版本也進(jìn)行了修改。
后面會用到mongo和mysql,所以可以直接利用下面命令安裝php模塊,其他模塊也類似
brew install php55-mysql
brew install php55-mongo
MySQL
mac不自帶mysql,這里需要重新安裝,方法依然很簡單
brew install mysql
unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
sudo chown -R your_user /usr/local/var/mysql/
第一句是安裝,后面的是確保正常使用。然后是啟動命令
mysql.server start
最好給mysql設(shè)個(gè)密碼,方法如下
mysqladmin -u root password 'xxx'
如果想修改mysql的配置,在/usr/local/etc下建立一個(gè)my.cnf,例如增加log
[mysqld]
general-log
general_log_file = /usr/local/var/log/mysqld.log
MongoDB
MongoDB可以說是最簡單的一個(gè),直接執(zhí)行
brew install mongodb
啟動方法
mongod --fork
PHPMyAdmin
phpmyadmin幾乎是管理mysql最容易的web應(yīng)用了吧,每次我都順道裝上。
1.去官網(wǎng)下載最新的版本
2.解壓到~/Sites/phpmyadmin下
3.在phpmyadmin目錄下創(chuàng)建一個(gè)可寫的config目錄
4.打開http://localhost/phpmyadmin/setup,安裝一個(gè)服務(wù),最后保存(這里只需要輸入帳號密碼就夠了)
5.將config下生成的config.inc.php移到phpmyadmin根目錄下
6.刪除config
這樣就裝好了,雖然可能有點(diǎn)小復(fù)雜,但是來一次就習(xí)慣了。
這里很可能會遇到2002錯(cuò)誤,就是找不到mysql.sock的問題,用下面方法解決
sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
RockMongo
RockMongo是MongoDB很好用的一個(gè)web應(yīng)用,安裝也很容易
1.去官網(wǎng)下載最新版本
2.解壓到~/Sites/rockmongo下
3.運(yùn)行http://localhost/rockmongo即可
完成
這樣就在mac下配置好一個(gè)php開發(fā)環(huán)境了,enjoy it!
- 使用PHPStorm+XDebug搭建單步調(diào)試環(huán)境
- Mac OSX下使用MAMP安裝配置PHP開發(fā)環(huán)境
- 使用WAMP搭建PHP本地開發(fā)環(huán)境
- PHP使用pear實(shí)現(xiàn)mail發(fā)送功能 windows環(huán)境下配置pear
- mac環(huán)境中使用brew安裝php5.5.15
- nginx php-fpm環(huán)境中chroot功能的配置使用方法
- CentOS 5.5使用yum來安裝LAMP(php運(yùn)行環(huán)境)
- 如何在PHP環(huán)境中使用ProtoBuf數(shù)據(jù)格式
相關(guān)文章
PHP的SQL注入實(shí)現(xiàn)(測試代碼安全不錯(cuò))
看黑客是如何入侵的,我們寫編寫php代碼的過程中,最好自己先測試效果。2011-02-02PHP中date()日期函數(shù)有關(guān)參數(shù)整理
PHP中date()日期函數(shù)有關(guān)參數(shù)整理,需要的朋友可以參考下。2011-07-07PHP實(shí)現(xiàn)的通過參數(shù)生成MYSQL語句類完整實(shí)例
這篇文章主要介紹了PHP實(shí)現(xiàn)的通過參數(shù)生成MYSQL語句類,結(jié)合完整實(shí)例形式分析了生成MYSQL語句類的實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2016-04-04php實(shí)現(xiàn)按指定大小等比縮放生成上傳圖片縮略圖的方法
這篇文章主要介紹了php實(shí)現(xiàn)按指定大小等比縮放生成上傳圖片縮略圖的方法,可實(shí)現(xiàn)針對圖片的等比縮放生成縮略圖的功能,是非常實(shí)用的技巧,需要的朋友可以參考下2014-12-12Laravel實(shí)現(xiàn)autoload方法詳解
本文給大家講解的是在laravel中是怎么實(shí)現(xiàn)autoload的?分析之后才發(fā)現(xiàn),真的是很巧妙,下面就來給大家詳細(xì)說明下2017-05-05PHP實(shí)現(xiàn)動態(tài)創(chuàng)建XML文檔的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)動態(tài)創(chuàng)建XML文檔的方法,結(jié)合實(shí)例形式分析了php針對xml格式數(shù)據(jù)的構(gòu)建及文件讀寫相關(guān)操作技巧,需要的朋友可以參考下2018-03-03