MAMP PRO安裝PHP擴充的步驟詳解

來源:互聯網
上載者:User
這幾天因為需要使用MAC做PHP開發,安裝了一個MAMP PRO的試用版,整體感覺非常好用,還可以自由選擇PHP版本、Apache擴充、很方便的建立網站並自動修改系統hosts檔案等。

MAMP和MAMP PRO是兩個獨立軟體,MAMP可以單獨運行,支援簡單的操作如PHP版本切換、Apache/Nginx切換、啟動/停止服務等。MAMP PRO不能獨立運行,它需要依賴MAMP軟體,其實MAMP PRO就是MAMP的一個功能強大的控制台,並提供了一些MAMP本身不支援的功能(如修改hosts、DDNS、方便的修改PHP運行方式以及Apache模組、方便的添加和管理虛擬網站等),售價不到400元,你值得擁有~

因為我的項目很多都依賴Redis做緩衝和隊列,偶爾也有使用MongoDB的需求,或者安裝Phalcon架構等,而MAMP不支援這些擴充,也沒有提供任何安裝這些擴充的方法,只能去折騰~~ 各種查資料,各種看文檔 。。。。
以下以安裝Redis為例,其它擴充方法一樣。

首先需要先安裝Redis,我比較懶,直接使用brew安裝的

brew install redis

接下來安裝php-redis擴充,這個可以自己下載源碼編譯,或者尋找對應自己所用PHP版本的redis.so。
因為MAMP裡面整合的PHP版本都沒有包含標頭檔,自己下載編譯的話肯定會出錯,具體解決方案可自行去尋找資料。當然,我比較懶,於是:


brew install homebrew/php/php56-redis

因為我用的是PHP5.6,所以是php56-redis,用這種方法非常方便、簡單,但帶來的問題是brew會自動安裝一個PHP5.6.19到/usr/local/Cellar目錄下。
而安裝好的redis擴充被放到了/usr/local/Cellar/php56-redis/2.2.7_1/redis.so
接下來就是修改PHP設定檔的問題了。前面說到MAMP裡面每個PHP版本對應的目錄下面都有一個 conf/php.ini 檔案,自然就是PHP的設定檔了,於是修改這個檔案,在擴充的部分添加以下代碼


extension=/usr/local/Cellar/php56-redis/2.2.7_1/redis.so

完後後經測試,php -m 表示已載入redis擴充,並且使用MAMP啟動服務能正常載入redis擴充,但使用MAMP PRO卻無法載入擴充。
這個總是著實頭疼了一陣,最後想到phpinfo查看載入的是哪個設定檔,最終定位到設定檔的位置在/Library/Application Support/appsolute/MAMP PRO/conf/php.ini。而且發現使用module方式和使用CGI方式載入的設定檔也不一樣,但都在這個目錄下面。於是嘗試去修改這個檔案添加redis擴充的路徑。
問題出現了,還是沒能載入redis擴充,再去查看剛剛修改的那個php.ini檔案,發現修改全部都不見了(可見MAMP PRO每次啟動服務時都會重建這個設定檔,所以剛才的修改不見了)。
實在沒辦法,只能去官網上面找出路,英文文檔各種翻,甚至基本的操作都看了一遍,終於還是找到方法了~~ —— 模板~

雖然官網沒說這個模板能幹什麼用,但顯而易見這是每次啟動服務的時候用來重建php.ini和httpd.conf檔案的模板。

修改方法:

點擊菜單 –> File –> Edit Template –> PHP –> PHP 5.6.10 php.ini

接下來會彈出一個警告並開啟一個php.ini這樣的檔案,可以看到這個檔案裡面很多關鍵的地方都被換成了MAMP的變數。直接和前面一樣在擴充的部分加上載入redis擴充的內容,儲存並重啟MAMP服務。
再次phpinfo發現終於成功載入了redis擴充。。。真是一路折騰,不過也算是對MAMP PRO這個軟體有了更深一層的瞭解,以後在使用的時候也會方便很多。
安裝MongoDB等基它擴充的方法也與此相似,簡單總結一下:
  • 如果不使用MAMP PRO的話可以直接在 /Application/MAMP/bin/php/php-x.x.x/conf 目錄下修改php.ini,並且會生效
  • 如果使用MAMP PRO必須要修改模板才會生效
一版來說是如下幾個過程:
  1. 下載或編譯擴充(一般是.so檔案)
  2. 修改MAMP PRO的php.ini模板

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.