程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 全新Mac配置PHP開發環境教程,macphp開發教程

全新Mac配置PHP開發環境教程,macphp開發教程

編輯:關於PHP編程

全新Mac配置PHP開發環境教程,macphp開發教程


用了一年的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.19

OS X Mavericks
重新安裝系統,在蘋果商店下載好OS X Mavericks安裝文件,然後准備一支16G的USB3.0 U盤。制作 OSX Mavericks全新安裝啟動U盤。

插上U盤,在終端執行:

復制代碼 代碼如下:
sudo /Applications/Install\ OS\ X\
Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/untitled
--applicationpath /Applications/Install\ OS\ X\ Mavericks.app --nointeraction

untitled 是你的u盤盤符,根據實際情況來。

復制代碼 代碼如下:
Erasing Disk: 0%… 10%… 20%… 30%…100%…
>Copying installer files to disk…
Copy complete.
Making disk bootable…
Copying boot files…
>Copy complete.
>Done.

看到上面的信息說明啟動盤制作成功。 安裝起來so easy :)

安裝完成系統之後, 暫時還沒有去遷移文件,由於本人喜好攝影,有大量RAW格式的原圖在Aperture
的照片庫中,尼康D800一張RAW文件有40M左右,到時候遷移照片庫和照片流希望不要掉坑裡了。 等開發環境搞定再說了,更新OS X系統到10.9.4
,然後安裝最新的Xcode, 以及在商店買過的軟件。確定系統無問題了,進入下一步...

Brew
Brew 是 Mac 下面的包管理工具,通過 Github 托管適合 Mac 的編譯配置以及 Patch,可以方便的安裝開發工具。 Mac 自帶ruby
所以安裝起來很方便,同時它也會自動把git也給你裝上。官方網站: <http://brew.sh>; 。

安裝完成之後,建議執行一下自檢,brew doctor如果看到
Your system is ready tobrew.那麼你的brew已經可以開始使用了。

安裝:
復制代碼 代碼如下:
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"

自檢:
復制代碼 代碼如下:
brew doctor

常用命令: (所有軟件以PHP5.5為例子)

復制代碼 代碼如下:
brew update #更新brew可安裝包,建議每次執行一下
brew search php55 #搜索php5.5
brew tap josegonzalez/php #安裝擴展<gihhub_user/repo>
brew tap #查看安裝的擴展列表
brew install php55 #安裝php5.5
brew remove php55 #卸載php5.5
brew upgrade php55 #升級php5.5
brew options php55 #查看php5.5安裝選項
brew info php55 #查看php5.5相關信息
brew home php55 #訪問php5.5官方網站
brew services list #查看系統通過 brew 安裝的服務
brew services cleanup #清除已卸載無用的啟動配置文件
brew services restart php55 #重啟php-fpm

注意:brew services 相關命令最好別經常用了,提示會被移除

復制代碼 代碼如下:
~ brew services restart php55
Warning: brew services is unsupported and will be removed soon.
You should use launchctl instead.
Please feel free volunteer to support it in a tap.

Stopping `php55`... (might take a while)
==> Successfully stopped `php55` (label: homebrew.mxcl.php55)
==> Successfully started `php55` (label: homebrew.mxcl.php55)

Oh My Zsh
ohmyzsh & iTerm2兩個神器,在Mac os x下是一定要裝的. 兩組配合起來使用,加上插件。簡直是神一樣的存在。 秒殺梅西,內馬爾啊:)
Oh 猛戳到官網

安裝 oh my zsh
復制代碼 代碼如下:
curl -L http://install.ohmyz.sh | sh

設置默認shell

查看系統支持的shell列表,Mac 10.9.4 自帶了 zsh 5.0.2,Linux上得安裝。

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安裝一個最新的吧。

/usr/local/bin/zsh --version zsh 5.0.5 (x86_64-apple-darwin13.3.0) 區別也不會很大, 默認的版本已經很新了。
homebrew-cask

安裝cask:

brew tap phinze/homebrew-cask && brew install brew-cask

cask常用命令:

復制代碼 代碼如下:
brew cask search #列出所有可以被安裝的軟件
brew cask search php #查找所有和php相關的應用
brew cask list #列出所有通過cask安裝的軟件
brew cask info phpstorm #查看 phpstorm 的信息
brew cask uninstall qq #卸載 QQ

這裡談談cask對比Mac App Store的優勢:

對常用軟件支持更全面(特別是開發者),cask裡面會給你一些驚喜;
軟件更新速度快,一般都是最新版本 Store上很久很久才會更新版本;

命令安裝感覺比打開Store方便,另外Store在國內的速度也是XXOO。

iTerm2

安裝iTerm2:

brew cask install iterm2
上面提過的神器組合,更多使用方法請參考[iTerm2官方文檔](http://www.iterm2.com/#/section/documentatio
n), 這裡就不詳細說明了。

安裝開發常用的包&軟件
安裝開發包
復制代碼 代碼如下:
brew install wget watch tmux cmake openssl imagemagick graphicsmagick gearman geoip readline autoconf multitail source-highlight autojump zsh-completions sshfs

升級一下系統自帶的vim
復制代碼 代碼如下:
brew install ctags macvim --env-std --override-system-vim

安裝常用軟件

brew cask install alfred appcleaner firefox google-chrome phpstorm sublime-text sequel-pro sketch mplayerx thunder qq
Alfred 是個很不錯的東西,推薦必須安裝。它默認搜索目錄不包含brew cask安裝的軟件,因此手動將`/opt/homebrew-
cask`添加到Alfred的搜索目錄

MySQL PHP Nginx Redis Memcache

前面做了這麼多的准備工作,其實 zsh iTerm2 brew 等等這些由於篇幅以及能力有限,一時半會也講不完,更多選擇,更多歡樂,就在Google
search,現在才入正題。come on :)

安裝MySQL

復制代碼 代碼如下:
brew install mysql

MySQL開機啟動:

復制代碼 代碼如下:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

安裝完成之後開啟MySQL安全機制:
復制代碼 代碼如下:
/usr/local/opt/mysql/bin/mysql_secure_installation

根據終端提示,輸入root密碼,然後依次確認一些安全選項。具體信息可以參考
外國友人的這篇文章

查看一下MySQL運行情況

 ~ 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
復制代碼 代碼如下:
brew install phpmyadmin

安裝PHP

添加brew的PHP擴展庫:
復制代碼 代碼如下:
brew update brew tap homebrew/dupes brew tap josegonzalez/homebrew-php

可以使用brew options php55命令來查看安裝php5.5的選項,這裡我用下面的選項安裝:
復制代碼 代碼如下:
brew install php55 --with-fpm --with-gmp --with-imap --with-tidy --with-debug --with-mysql --with-libmysql

PHP編譯過程中如果遇到configure: error: Cannot find OpenSSL's <evp.h>錯誤,執行xcode-select --install 重新安裝一下Xcode Command Line Tools 在GitHubHomeBrew上有關於這個討論:

_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常用擴展,擴展安裝過程中brew會自動安裝依賴包,例如php55-pdo-pgsql
會自動裝上postgresql,這裡我安裝以下PHP擴展:
復制代碼 代碼如下:
brew install php55-apcu\ php55-gearman\ php55-geoip\ php55-gmagick\ php55-imagick\ php55-intl\ php55-mcrypt\ php55-memcache\ php55-memcached\ php55-mongo\ php55-opcache\ php55-pdo-pgsql\ php55-phalcon\ php55-redis\ php55-sphinx\ php55-swoole\ php55-uuid\ php55-xdebug;

擴展裡面提一下php55-phalcon 和php55-swoole.一個是C語言寫的PHP框架,安裝來個人摸索熟悉一下,還沒有真正的使用過,大致看了一下文檔,感覺非常吊炸天。目前公司的項目是基於Yii2的,也看看這個框架。

另外一個swoole是國產的PHP高性能網絡通信框架,貌似不錯,可能在項目中會考慮用到它。

由於Mac自帶了php和php-fpm,因此需要添加系統環境變量PATH來替代自帶PHP版本。

復制代碼 代碼如下:
echo 'export PATH="$(brew --prefix php55)/bin:$PATH"' >> ~/.bash_profile #for php
echo 'export PATH="$(brew --prefix php55)/sbin:$PATH"' >> ~/.bash_profile #for php-fpm
echo 'export PATH="/usr/local/bin:/usr/local/sbib:$PATH"' >> ~/.bash_profile #for other brew install soft
source ~/.bash_profile

測試一下效果:

復制代碼 代碼如下:
#brew安裝的php 他在/usr/local/opt/php55/bin/php
php -v
PHP 5.5.14 (cli) (built: Jul 16 2014 15:43:06) (DEBUG)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans

#Mac自帶的PHP
/usr/bin/php -v
PHP 5.4.24 (cli) (built: Jan 19 2014 21:32:15)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

#brew安裝的php-fpm 他在/usr/local/opt/php55/sbin/php-fpm
php-fpm -v
PHP 5.5.14 (fpm-fcgi) (built: Jul 16 2014 15:43:12) (DEBUG)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans

#Mac自帶的php-fpm
/usr/sbin/php-fpm -v
PHP 5.4.24 (fpm-fcgi) (built: Jan 19 2014 21:32:57)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

修改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-fpm配置
php-fpm -t
php-fpm -c /usr/local/etc/php/5.5/php.ini -y /usr/local/etc/php/5.5/php-fpm.conf -t

#啟動php-fpm
php-fpm -D
php-fpm -c /usr/local/etc/php/5.5/php.ini -y /usr/local/etc/php/5.5/php-fpm.conf -D

#關閉php-fpm
kill -INT `cat /usr/local/var/run/php-fpm.pid`

#重啟php-fpm
kill -USR2 `cat /usr/local/var/run/php-fpm.pid`

#也可以用上文提到的brew命令來重啟php-fpm,不過他官方不推薦用這個命令了
brew services restart php55

#還可以用這個命令來啟動php-fpm
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist

啟動php-fpm之後,確保它正常運行監聽9000端口:

復制代碼 代碼如下:
lsof -Pni4 | grep LISTEN | grep php
php-fpm 30907 calvin 9u IPv4 0xf11f9e8e8033a2a7 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 30917 calvin 0u IPv4 0xf11f9e8e8033a2a7 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 30918 calvin 0u IPv4 0xf11f9e8e8033a2a7 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 30919 calvin 0u IPv4 0xf11f9e8e8033a2a7 0t0 TCP 127.0.0.1:9000 (LISTEN)
#正常情況,會看到上面這些進程

PHP-FPM開機啟動:
復制代碼 代碼如下:
ln -sfv /usr/local/opt/php55/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php55.plist

安裝php composer
復制代碼 代碼如下:
brew install composer
#檢查一下情況
composer --version
Composer version 1.0.0-alpha8 2014-01-06 18:39:59

redis memcached這些軟件brew 已經自動依賴安裝上,如果想開機自動啟動,或者查看使用說明 brew info redis即可。另外,composer的中文文檔:猛戳這裡
安裝Nginx

brew install nginx --with-http_geoip_module
Nginx啟動關閉命令:

復制代碼 代碼如下:
#測試配置是否有語法錯誤
nginx -t

#打開 nginx
sudo nginx

#重新加載配置|重啟|停止|退出 nginx
nginx -s reload|reopen|stop|quit

#也可以使用Mac的launchctl來啟動|停止
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

Nginx開機啟動
復制代碼 代碼如下:
ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

Nginx監聽80端口需要root權限執行,因此:
復制代碼 代碼如下:
sudo chown root:wheel /usr/local/Cellar/nginx/1.6.0_1/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.6.0_1/bin/nginx

配置nginx.conf
創建需要用到的目錄:
復制代碼 代碼如下:
mkdir -p /usr/local/var/logs/nginx
mkdir -p /usr/local/etc/nginx/sites-available
mkdir -p /usr/local/etc/nginx/sites-enabled
mkdir -p /usr/local/etc/nginx/conf.d
mkdir -p /usr/local/etc/nginx/ssl
sudo mkdir -p /var/www
sudo chown :staff /var/www
sudo chmod 775 /var/www

vim /usr/local/etc/nginx/nginx.conf

輸入以下內容:
復制代碼 代碼如下:
worker_processes 1;

error_log /usr/local/var/logs/nginx/error.log debug;


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/logs/access.log main;

sendfile on;
keepalive_timeout 65;
port_in_redirect off;

include /usr/local/etc/nginx/sites-enabled/*;
}

設置nginx php-fpm配置文件
復制代碼 代碼如下:
vim /usr/local/etc/nginx/conf.d/php-fpm
#proxy the php scripts to php-fpm
location ~ \.php$ {
try_files $uri = 404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_intercept_errors on;
include /usr/local/etc/nginx/fastcgi.conf;
}

nginx虛擬主機准備工作

#創建 info.php index.html 404.html 403.html文件到 /var/www 下面

vi /var/www/info.php vi /var/www/index.html vi /var/www/403.html vi /var/www/404.html
創建默認虛擬主機default

vim /usr/local/etc/nginx/sites-available/default

輸入:
復制代碼 代碼如下:
server {
listen 80;
server_name localhost;
root /var/www/;

access_log /usr/local/var/logs/nginx/default.access.log main;

location / {
index index.html index.htm index.php;
autoindex on;
include /usr/local/etc/nginx/conf.d/php-fpm;
}

location = /info {
allow 127.0.0.1;
deny all;
rewrite (.*) /.info.php;
}

error_page 404 /404.html;
error_page 403 /403.html;
}

創建ssl默認虛擬主機default-ssl

vim /usr/local/etc/nginx/sites-available/default-ssl

輸入:
復制代碼 代碼如下:
server {
listen 443;
server_name localhost;
root /var/www/;
access_log /usr/local/var/logs/nginx/default-ssl.access.log main; ssl on;
ssl_certificate ssl/localhost.crt;
ssl_certificate_key ssl/localhost.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
include /usr/local/etc/nginx/conf.d/php-fpm;
}
location = /info {
allow 127.0.0.1;
deny all;
rewrite (.*) /.info.php;
}
error_page 404 /404.html;
error_page 403 /403.html;
}

創建phpmyadmin虛擬主機

vim /usr/local/etc/nginx/sites-available/phpmyadmin
輸入以下配置
復制代碼 代碼如下:
server {
listen 306;
server_name localhost;
root /usr/local/share/phpmyadmin;
error_log /usr/local/var/logs/nginx/phpmyadmin.error.log; access_log /usr/local/var/logs/nginx/phpmyadmin.access.log main; ssl on;
ssl_certificate ssl/phpmyadmin.crt;
ssl_certificate_key ssl/phpmyadmin.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
index index.html index.htm index.php;
include /usr/local/etc/nginx/conf.d/php-fpm;
} }

設置SSL

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.crt

創建虛擬主機軟連接,開啟虛擬主機

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/phpmyadmin

啟動|停止Nginx

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
接下來你可以通過下面這些連接訪問:

復制代碼 代碼如下:
<http://localhost/> -> index.html
<http://localhost/info> -> info.php via phpinfo();
<http://localhost/404> -> 404.html
<https://localhost/> -> index.html(SSL)
<https://localhost/info> -> info.php via phpinfo();(SSL)
<https://localhost/404> -> 404.html(SSL)
<https://localhost:306> -> phpmyadmin(SSL)

設置快捷服務控制命令

為了後面管理方便,將命令 alias 下,vim ~/.bash_aliases 輸入一下內容:

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'

讓快捷命令生效
echo "[[ -f ~/.bash_aliases ]] && . ~/.bash_aliases" >> ~/.bash_profile source ~/.bash_profile #創建站點目錄到主目錄,方便快捷訪問 ln -sfv /var/www ~/htdocs
有時間會進一步整理一下,感覺有點亂,第一次在segmentfault上碼字,寫到一半的時候不小心滑一下觸摸板,浏覽器後退了,雖然有提示不要離開,點擊了不離開之後,Safari白屏。 然後還特地去吐了個槽,害我白白又浪費很久來寫這個博客。希望能幫助到剛剛接觸Mac的同學。enjoy Mac‘s development EVN :)

參考資料:Install Nginx, PHP-FPM, MySQL and phpMyAdmin on OS X Mavericks using Homebrew

本文由Fish創作

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved