Mac 下如何搭建 PHP 開發環境?


裝個homestead是最簡單的

Laravel Homestead

homestead是laravel提供給開發者的一個vagrant環境,當然用來做其他php框架或者原生php代碼的伺服器都很適合,與本機環境無關,可以和virtualhost 共享目錄,包括nginx,redis,mysql,memcache等服務都幫你裝好了。

以目前來看,還是用vagrant或者docker之類的架設服務最好,在mac上雖然自帶apache和php,但每次mac osx升級都會自動升級php和apache,聽起來很好是不是,但實際上每次都是噩夢,我在本機php安裝了一些額外模塊,升級的時候全給抹了,php.ini里的設置全都還原了(當然升級操作系統前的php.ini系統幫你改名備份了),apache的設置也還原了,於是又要把所有的用到的php擴展安裝一次。

而且在本機上自己配環境不利於團隊開發,每個人的開發環境php、mysql等版本都有細微差別,包括操作系統linux下和windows下的mysql版本不同處理的結果也有細微不同,我就遇到過很多次這樣的坑,所以還是採用vagrant的虛擬host吧,只要配置好一份環境,可以把vhost當成vagrant的box導出,分發給團隊里的其他人,這樣所有人都保持在一個環境下工作,無論他本機是mac還是windows。這樣甚至好過在公司里架設一個開發伺服器,每個人互不影響,每個環境都是一致而且獨立的,不在辦公室辦公的時候也不依賴於內網的開發伺服器才能幹活(當然,我反對任何形式的加班)


vagrant+virtualBox+centos

********************2017-04-20***************

現在都是docker天下了....還是用docker吧


https://www.mamp.info/en/downloads/

MAMP直接搞定,不用瞎折騰。


如果你是新手,入門 php 開發的話,建議採用 homebrew 安裝

這樣可以減少很多編譯引發的問題,減少配置環境的流程,可以最大程度的避免自己因配置環境不成功而失去開發熱情以及對學習的懈怠

中文參考文檔:[php] 在mac下使用 Homebrew 配置 Nginx、php、Mysql 開發環境

英文參考文檔:Install Nginx, PHP-FPM, MySQL and phpMyAdmin on OS X Mavericks or Yosemite


mac上面其實比windows做開發省心很多了,其實只需要下個mysql就行了,最重要的是mac上面的linux命令用起來比window那些蹩腳的命令爽太多


虛擬機+linux……


如果你是開發者,請選擇homebrew,mac下最好的包管理工具,沒有之一,用它可以安裝php開發需要的所有相關。

如果你喜歡使用源碼安裝,也可以不用homebrew,但是,

什麼xnmp之類的,非常不推薦使用,如果有它不提供的組件的話,就會無比的頭疼了。

php開發,需要php,需要nginx或者apache,需要mysql或者其他資料庫。這些都可以通過編譯源碼安裝,mysql甚至還提供dmg安裝。

這種情況下,為什麼要選擇xnmp之類的第三方集成?

如果需要redis呢?是不是還得源碼或者其他方式?


剛剛折騰完,感覺目前網上的資料都不夠準確。自己寫了一篇筆記,希望對大家有所幫助

OS X EI Capitan 10.11.3上安裝Nginx+MySQL+PHP · Issue #1 · Xilesun/blog


Mac 下快速搭建php環境之集成軟體推薦 可以去看看這篇文章,我個人建議最好不用系統自帶的php環境。我使用了XMAPP 、AMPPS 、MAMP PRO(收費,可以團購),做了對比,還是MAMP PRO最方便,最好操作.定製性也最好.

=========

update:2015-11-18 21:56:58

自動發現了vagrant+box 這個神奇的組合之後,果斷推薦Mac的童鞋使用

使用教程:

Go-in-Action/01.2.md at master · astaxie/Go-in-Action · GitHub


推薦2個成熟的方案

1. vagrant + box -&> homestead

2. docker -&> laradock

兩個都非常的成熟好用,如果想折騰動手,可以自己寫vagrant的box或者dockerfile


http://dancewithnet.com/2010/05/09/run-apache-php-mysql-in-mac-os-x/,這個上面寫的挺不錯的,我已經搞定了


VirtualBox + Vagrant

利用虛擬機,安裝一個linux 系統,環境搭建在 Linux 系統中。

安裝手冊:VirtualBox + Vagrant


mac下用過xampp和mamp,個人推薦mamp,可以切換php版本、資料庫、web伺服器,配置hosts也比較方便,總體更人性化(適合懶人)。

而xampp for mac版本則沒有這些功能,我當初就是因為不能切換php版本而裝了mamp,發現挺好用。

貼下截圖,可對比下


吐血回答這個問題。個人感覺自己弄真的非常麻煩,從剛開始學的時候配iis到後來配apache,到後來開始用集成環境,真心覺得,如果是學習和測試,那麼集成環境無疑在開始的時候方便太多太多了。

php環境,windows上推薦wamp,好用,用了3年,後來換了mac,一開始用了xampp,這個真心蛋疼,一開始還好,用了半個月,但是某次重啟後,報一個 must be a document (具體不記得了)真心操蛋,有說是selinux問題的,反正無論如何無法解決。 後來換mamp了,使用還可以。


推薦docker


現在可以上 docker 了,po 一段 Dockerfile 以供參考:

https://raw.githubusercontent.com/ty42/php7-fpm-demo/master/Dockerfile

FROM php:7.0.8-fpm

MAINTAINER "ty42 &"

ADD pecl-memcache.tar.gz /usr/src/php/ext/

RUN apt-get update apt-get install -y
libfreetype6-dev
libmcrypt4
libmcrypt-dev
libpng12-dev
libjpeg-dev
libmagickwand-dev
--no-install-recommends
RUN docker-php-ext-install -j$(nproc) pecl-memcache
docker-php-ext-install iconv mcrypt opcache
docker-php-ext-configure gd --enable-gd-native-ttf --with-freetype-dir=/usr/include/freetype2 --with-png-dir=/usr/include --with-jpeg-dir=/usr/include
docker-php-ext-install -j$(nproc) gd
docker-php-ext-install mbstring
docker-php-ext-install pdo_mysql
docker-php-ext-install mysqli
docker-php-ext-install gettext
pecl install imagick
docker-php-ext-enable imagick


用 XAMPP,完全不折騰,一鍵安裝

XAMPP Installers and Downloads for Apache Friends


直接用Brew來裝吧,方便簡單快速,裝extension也很方便,同理可裝mysql,nginx

brew install php54


如果不想遇到那麼多自己動手的麻煩的,可以選擇

MAMP 或者 XAMPP 這種現成的,適合懶人,遇到問題也少費一點腦細胞。


以前搭的時候真的是搭吐血了

快搭好的時候 發現 原來mac自帶繼承php環境的

apache php 系統默認已經幫你裝好了,你需要自己把他啟動

mysql官網有mac版本的 你可以去下個

我是把他的都卸載了 自己重新按linux的方法安裝了一遍

遇到的問題還是挺多的,你就按問題搜 網上都有解決方法的

多折騰下吧 許可權的問題 可能會遇到很多


推薦閱讀:

建站的主要流程?
MVC 模式前端應該寫模板嘛?
用 PHP 編寫支持高並發的網站,需要做什麼處理?
SESSION在服務端(PHP/JAVA)具體是如何實現的?
PHP該怎麼學?

TAG:PHP | PHP開發 | 開發環境 |