《PHP教程:全新Mac配置PHP開發環境教程》要點:
本文介紹了PHP教程:全新Mac配置PHP開發環境教程,希望對您有用。如果有疑問,可以聯系我們。
用了一年的Mac OS X了,之前不熟悉這個系統,用的是系統自帶的PHP以及DMG包安裝的MySQL,時間長了,慢慢覺得MacBook的速度跟不上了,雖然關機次數不多,但是每次開機,或者喚醒電腦的時候,系統明顯有一定時間的卡頓.特別表現在開機的時候.完全可以去泡一個來一桶了.因此干掉MD101上的光驅,換上256G的Sandisk SSD, 干掉原廠的2G 2,換上8G 2 . 速度應該是杠杠的了,至少可以再服役2年吧.
趁著這次加硬盤的機會,就準備徹底重做開發環境.現在對Mac也有了一定的了解,特地記錄一下本次的開發環境安裝詳情,給自己一個備忘,希望也可以幫助到剛接觸Mac
環境的同學們.本開發環境,全部基于HomeBrew安裝.
主要軟件版本:PHP5.5.14,Nginx 1.6.0,MySQL5.6.19PHP教程
OS X Mavericks
重新安裝系統,在蘋果商店下載好OS X Mavericks安裝文件,然后準備一支16G的USB3.0 U盤.制作 OSX Mavericks全新安裝啟動U盤.PHP教程
插上U盤,在終端執行:PHP教程
untitled 是你的u盤盤符,根據實際情況來.PHP教程
看到上面的信息說明啟動盤制作成功. 安裝起來so easy :)PHP教程
安裝完成系統之后, 暫時還沒有去遷移文件,由于本人喜好攝影,有大量RAW格式的原圖在Aperture
的照片庫中,尼康D800一張RAW文件有40M左右,到時候遷移照片庫和照片流希望不要掉坑里了. 等開發環境搞定再說了,更新OS X系統到10.9.4
,然后安裝最新的Xcode, 以及在商店買過的軟件.確定系統無問題了,進入下一步...PHP教程
Brew
Brew 是 Mac 下面的包管理工具,通過 Github 托管適合 Mac 的編譯配置以及 Patch,可以方便的安裝開發工具. Mac 自帶ruby
所以安裝起來很方便,同時它也會自動把git也給你裝上.官方網站: <http://brew.sh>; .PHP教程
安裝完成之后,建議執行一下自檢,brew doctor如果看到
Your system is ready tobrew.那么你的brew已經可以開始使用了.PHP教程
安裝:
PHP教程
注意:brew services 相關命令最好別經常用了,提示會被移除PHP教程
Stopping `php55`... (might take a while)
==> Successfully stopped `php55` (label: homebrew.mxcl.php55)
==> Successfully started `php55` (label: homebrew.mxcl.php55)
PHP教程
Oh My Zsh
ohmyzsh & iTerm2兩個神器,在Mac os x下是一定要裝的. 兩組配合起來使用,加上插件.簡直是神一樣的存在. 秒殺梅西,內馬爾啊:)
Oh 猛戳到官網PHP教程
安裝 oh my zsh
PHP教程
設置默認shellPHP教程
查看系統支持的shell列表,Mac 10.9.4 自帶了 zsh 5.0.2,Linux上得安裝.PHP教程
cat /etc/shells # List of acceptable shells for chpass(1). # Ftpd will not allow users to connect who are not using # one of these shells. /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh zsh --version zsh 5.0.2 (x86_64-apple-darwin13.0) chsh -s /bin/zsh
雖然Mac自帶了zsh,如果你想要最新版的zsh,那么你用 brew install zsh安裝一個最新的吧.PHP教程
/usr/local/bin/zsh --version zsh 5.0.5 (x86_64-apple-darwin13.3.0) 區別也不會很大, 默認的版本已經很新了.
homebrew-caskPHP教程
安裝cask:PHP教程
brew tap phinze/homebrew-cask && brew install brew-caskPHP教程
cask常用命令:PHP教程
這里談談cask對比Mac App Store的優勢:PHP教程
對常用軟件支持更全面(特別是開發者),cask里面會給你一些驚喜;
軟件更新速度快,一般都是最新版本 Store上很久很久才會更新版本;PHP教程
命令安裝感覺比打開Store方便,另外Store在國內的速度也是XXOO.PHP教程
iTerm2PHP教程
安裝iTerm2:PHP教程
brew cask install iterm2
上面提過的神器組合,更多使用方法請參考[iTerm2官方文檔](http://www.iterm2.com/#/section/documentatio
n), 這里就不詳細說明了.PHP教程
安裝開發常用的包&軟件
安裝開發包
PHP教程
brew cask install alfred appcleaner firefox google-chrome phpstorm sublime-text sequel-pro sketch mplayerx thunder qq
Alfred 是個很不錯的東西,推薦必須安裝.它默認搜索目錄不包含brew cask安裝的軟件,因此手動將`/opt/homebrew-
cask`添加到Alfred的搜索目錄PHP教程
MySQL PHP Nginx Redis MemcachePHP教程
前面做了這么多的準備工作,其實 zsh iTerm2 brew 等等這些由于篇幅以及能力有限,一時半會也講不完,更多選擇,更多歡樂,就在Google
search,現在才入正題.come on :)PHP教程
安裝MySQLPHP教程
MySQL開機啟動:PHP教程
安裝完成之后開啟MySQL安全機制:
PHP教程
根據終端提示,輸入root密碼,然后依次確認一些安全選項.具體信息可以參考
外國友人的這篇文章PHP教程
查看一下MySQL運行情況PHP教程
~ ps aux | grep mysql calvin 1695 0.0 0.5 2719864 90908 ?? S 1:38上午 0:00.31 /usr/local/Cellar/mysql/5.6.19/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.6.19 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.6.19/lib/plugin --bind-address=127.0.0.1 --log-error=/usr/local/var/mysql/CalvinsMacBook-Pro.local.err --pid-file=/usr/local/var/mysql/CalvinsMacBook-Pro.local.pid --socket=/tmp/mysql.sock --port=3306 calvin 1323 0.0 0.0 2444628 1020 ?? S 1:38上午 0:00.04 /bin/sh /usr/local/opt/mysql/bin/mysqld_safe --bind-address=127.0.0.1 --datadir=/usr/local/var/mysql #測試連接MySQL mysql -uroot -p Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 23 Server version: 5.6.19-log Homebrew Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
安裝phpmyadmin
PHP教程
添加brew的PHP擴展庫:
PHP教程
PHP編譯過程中如果遇到configure: error: Cannot find OpenSSL's <evp.h>錯誤,執行xcode-select --install 重新安裝一下Xcode Command Line Tools 在GitHubHomeBrew上有關于這個討論:PHP教程
_For future reference of anybody looking for Command Line Tools with Xcode 5,
open up a Terminal window and type xcode-select --install. A window will
appear informing you command line tools are required. Click Install and you
should be good to go_PHP教程
等待PHP編譯完成,開始安裝PHP常用擴展,擴展安裝過程中brew會自動安裝依賴包,例如php55-pdo-pgsql
會自動裝上postgresql,這里我安裝以下PHP擴展:
PHP教程
擴展里面提一下php55-phalcon 和php55-swoole.一個是C語言寫的PHP框架,安裝來個人摸索熟悉一下,還沒有真正的使用過,大致看了一下文檔,感覺非常吊炸天.目前公司的項目是基于Yii2的,也看看這個框架.PHP教程
另外一個swoole是國產的PHP高性能網絡通信框架,貌似不錯,可能在項目中會考慮用到它.PHP教程
由于Mac自帶了php和php-fpm,因此需要添加系統環境變量PATH來替代自帶PHP版本.PHP教程
測試一下效果:PHP教程
修改php-fpm配置文件,vim /usr/local/etc/php/5.5/php-fpm.conf,找到pid相關大概在25行,去掉注釋pid = run/php-fpm.pid, 那么php-fpm的pid文件就會自動產生在/usr/local/var/run/php-fpm.pid,下面要安裝的Nginx pid文件也放在這里.PHP教程
啟動php-fpm之后,確保它正常運行監聽9000端口:PHP教程
PHP-FPM開機啟動:
PHP教程
brew install nginx --with-http_geoip_module
Nginx啟動關閉命令:PHP教程
#打開 nginx
sudo nginxPHP教程
#重新加載配置|重啟|停止|退出 nginx
nginx -s reload|reopen|stop|quitPHP教程
#也可以使用Mac的launchctl來啟動|停止
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
PHP教程
Nginx開機啟動
PHP教程
vim /usr/local/etc/nginx/nginx.confPHP教程
輸入以下內容:
PHP教程
error_log /usr/local/var/logs/nginx/error.log debug;PHP教程
pid /usr/local/var/run/nginx.pid;PHP教程
events {
worker_connections 256;
}PHP教程
http {
include mime.types;
default_type application/octet-stream;PHP教程
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';PHP教程
access_log /usr/local/var/logs/access.log main;PHP教程
sendfile on;
keepalive_timeout 65;
port_in_redirect off;PHP教程
include /usr/local/etc/nginx/sites-enabled/*;
}
PHP教程
#創建 info.php index.html 404.html 403.html文件到 /var/www 下面PHP教程
vi /var/www/info.php vi /var/www/index.html vi /var/www/403.html vi /var/www/404.html
創建默認虛擬主機defaultPHP教程
vim /usr/local/etc/nginx/sites-available/defaultPHP教程
輸入:
PHP教程
access_log /usr/local/var/logs/nginx/default.access.log main;PHP教程
location / {
index index.html index.htm index.php;
autoindex on;
include /usr/local/etc/nginx/conf.d/php-fpm;
}PHP教程
location = /info {
allow 127.0.0.1;
deny all;
rewrite (.*) /.info.php;
}PHP教程
error_page 404 /404.html;
error_page 403 /403.html;
}
PHP教程
vim /usr/local/etc/nginx/sites-available/default-sslPHP教程
輸入:
PHP教程
vim /usr/local/etc/nginx/sites-available/phpmyadmin
輸入以下配置
PHP教程
設置SSLPHP教程
mkdir -p /usr/local/etc/nginx/ssl openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=US/ST=State/L=Town/O=Office/CN=localhost" -keyout /usr/local/etc/nginx/ssl/localhost.key -out /usr/local/etc/nginx/ssl/localhost.crt openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=US/ST=State/L=Town/O=Office/CN=phpmyadmin" -keyout /usr/local/etc/nginx/ssl/phpmyadmin.key -out /usr/local/etc/nginx/ssl/phpmyadmin.crtPHP教程
創建虛擬主機軟連接,開啟虛擬主機PHP教程
ln -sfv /usr/local/etc/nginx/sites-available/default /usr/local/etc/nginx/sites-enabled/default ln -sfv /usr/local/etc/nginx/sites-available/default-ssl /usr/local/etc/nginx/sites-enabled/default-ssl ln -sfv /usr/local/etc/nginx/sites-available/phpmyadmin /usr/local/etc/nginx/sites-enabled/phpmyadminPHP教程
啟動|停止NginxPHP教程
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
接下來你可以通過下面這些連接訪問:PHP教程
設置快捷服務控制命令PHP教程
為了后面管理方便,將命令 alias 下,vim ~/.bash_aliases 輸入一下內容:PHP教程
alias nginx.start='launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist' alias nginx.stop='launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist' alias nginx.restart='nginx.stop && nginx.start' alias php-fpm.start="launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist" alias php-fpm.stop="launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist" alias php-fpm.restart='php-fpm.stop && php-fpm.start' alias mysql.start="launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist" alias mysql.stop="launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist" alias mysql.restart='mysql.stop && mysql.start' alias redis.start="launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist" alias redis.stop="launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist" alias redis.restart='redis.stop && redis.start' alias memcached.start="launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist" alias memcached.stop="launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist" alias memcached.restart='memcached.stop && memcached.start'PHP教程
讓快捷命令生效
echo "[[ -f ~/.bash_aliases ]] && . ~/.bash_aliases" >> ~/.bash_profile source ~/.bash_profile #創建站點目錄到主目錄,方便快捷訪問 ln -sfv /var/www ~/htdocs
有時間會進一步整理一下,感覺有點亂,第一次在segmentfault上碼字,寫到一半的時候不小心滑一下觸摸板,瀏覽器后退了,雖然有提示不要離開,點擊了不離開之后,Safari白屏. 然后還特地去吐了個槽,害我白白又浪費很久來寫這個博客.希望能幫助到剛剛接觸Mac的同學.enjoy Mac‘s development EVN :)PHP教程
參考資料:Install Nginx, PHP-FPM, MySQL and phpMyAdmin on OS X Mavericks using HomebrewPHP教程
本文由Fish創作PHP教程
歡迎參與《PHP教程:全新Mac配置PHP開發環境教程》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/7591.html