首頁  >  文章  >  後端開發  >  Mac下透過 brew 安裝不同版本的php

Mac下透過 brew 安裝不同版本的php

WBOY
WBOY原創
2016-08-08 09:30:411197瀏覽
    MAC OS X 10.9.5系統裡已經自備了 apache  和 php ,且預設沒有啟用,我們將他們啟用即可。
    APACHE的預設版本是 Apache/2.2.26 (Unix),而php版本則是PHP 5.4.30。     由於調試程序需要,我需要同時安裝低版本的php5.3,但是又不希望刪除系統預裝的php 5.4,或升級/降級系統的php5.4,那麼怎麼辦呢?這個時候,就可以透過brew的方式安裝新的php版本。     第一步,先安裝 brew    Brew 是 Mac 下面的套件管理工具,透過 Github   Mac 的設定配置以及方便製作的編譯 Mac 自備ruby 所以安裝很方便,同時它也會自動把git也裝給你。官方網站: http://brew.sh     在mac下終端直接輸入命令列:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

🠎一下自我檢測:brew doctor 如果看到Your system is ready to brew. 那麼你的brew已經可以開始使用了。     常用指令: (所有軟體以PHP5.5為範例)
brew update            php55                  #搜尋php5.5

brew tap josegonzalez/php       tap josegonzalez/php       
brew tap                               #安裝php5.5
brew remove  php55                      #升級php5.5
brew options php55                 #檢視php5.5安裝選項
brew info    php55                 #檢視php5.5相關資訊
brew php5.5官方網站
brew services list                 #檢視系統使用 brew 所安裝的服務  
brew services restart php55        #重啟php-fpm

    

第二步,且安裝PHP
  

brew updatebrew tap homebrew/dupesbrew tap homebrew/php
brew tap josegonzalez/homebrew-php    可以使用 
brew options php53
 apache -- with-gmp --with-imap --with-tidy --with-debug

     注意:如果你希望以mac下的apache作為web server,編譯時要加 --with-apache;如果你的web server 是 nginx這類,就需要加上 --with-fpm。

Options
--disable-opcache
Build without Opcache extension
--disable-zend-multibyte
Disable auto-det. Homebrew prefix
--with-apache
Enable building of shared Apache 2.0 Handler module, overriding any options which disable apache
--with-cgi
bugable-withbuilding theat;
Compile with debugging symbols
- -with-fpm
Enable building of the fpm SAPI executable (implies --without-apache)
--with-gmp
Build with gmp support🠎--with-gmp
Build with gmp support🠎--with-gmp
Build with gmp support🠎--with- homebrew-libxslt
Include LibXSLT support via Homebrew
--with-homebrew-openssl
Include OpenSSL support via Homebrew
--with-pJiepah-clidah) libmysql support instead of mysqlnd
--with-mssql
Include MSSQL-DB support
--with-pdo-oci
Include Oracle databases (requries ORACLE_HOME . (PHP 5.4 and above )
--with-postgresql
Build with postgresql support
--with-thread-safety
Build with thread safety
--with-tidy
Include -dy --without -mysql
Remove MySQL/MariaDB support
--without-pcntl
Build without Process Control support
--without-pear
Build without PEAREAR all HEAD version
    PHP編譯過程中如果遇到 configure: error: Cannot find OpenSSL's  Tools 即可解決該錯誤(資料來源:https://github.com/Homebrew/homebrew-php/issues/1181)。      安裝完php後,會有一個提示,請仔細閱讀:CaveatsTo enable PHP in Apache add  php5_module    /usr/local/opt/php53/ libexec/apache2/libphp5.soThe php.ini file can be found in:
    

/usr/local/etc/php/5.3/php.ini
?EAR??? If PEAR complains about permissions, 'fix' the default PEAR permissions and config:
    chmod -R ug+w /usr/local/Cellar/53/mod -R ug+w /usr/local/Cellar/53/mod -R ug+w /usr/local/Cellar/53/mod - php_ini /usr/local/ etc/php/5.3/php.ini ???? Extensions ???? If you are having issues with custom extension compiling, ensure thatyou are using the brew version, by placing /usr/local/bin        PATH="/usr/local/bin:$PATH" PHP53 Extensions will always be compiled against this PHP. Please install themusing --without-homebrew-php to enable compiling  ???? PHP CLI ???? If you wish to swap the PHP you use on the command line, you should add the following to  the)        export PATH="$(brew --prefix homebrew/php/php53)/bin:$PATH" To have launchd start php53 at login:
    ln -sfv /usr/local/opt/php53/*.plist ~/Library/LaunchAgents🎠🠎 unchctl load ~/Library/LaunchAgents/homebrew. mxcl.php53.plist
==> Summary
   /usr/local/Cellar/php53/5.3.29: 480 files, 31M, built in 12.9999999: 
    等待PHP編譯完成,開始安裝PHP常用擴充,擴充安裝過程中 brew會自動安裝依賴包,使用 

brew search php53-
 命令,可以查看還有哪些擴充功能可以安裝,然後執行 brew install php53-XXXXXX就可以了。
    由於Mac自帶了php和php-fpm,因此需要加入系統環境變數PATH來取代自帶PHP版本:
echo 'export PATH="$(brew --prefix homebrew/php 'export PATH="$(brew --prefix homebrew/php homebrew/php/53)/ :$PATH"' >> ~/.bash_profile  #for php
echo 'export PATH="$(brew --prefix homebrew/php/php53)/sbin:$ fpm
echo 'export PATH="/usr/local/bin:/usr/local/sbin:$PATH"' >> ~/.bash_profile #for other brew 卸載安裝的 php5.3呢?


# 卸載brew uninstall php53 
# 清除快取以及舊版檔案brew cleanup -s     測試效果:

$ php -v
PHP 5.3.29 (cli) (built: Jan 24  PHP Group
Zend Engine v2 .3.0, Copyright (c) 1998-2014 Zend Technologies # mac系統自備的php
$ /usr/bin/php -v
PHP 5.4.30 (cli) (built: Jul 29 2014 23:43:29) Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend Guard Loader v3.3, Copyright  由於我們沒有安裝php的fpm模式,所以 php-fpm - v 指令顯示的是mac自備的:


$ php-fpm -v

PHP 5.4.30 (fpm-fcgi) (built: Jul 29 2014 23:44:15) PHP GroupZend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies    with Zend Guard logies


 


    這時候,我們使用 phpinfo函數顯示出來的php版本還是max自帶的PHP5.4,需要我們修改 apache的設定檔 httpd.conf,載入的php5模組路徑指向剛安裝的 php5.3目錄裡的 libphp5.so:


LoadModule php5_php5.so:
LoadModule php5_ /usr/local/opt/php53/libexec/apache2/libphp5.so
 

     重啟apache,phpinfo() 腳本裡顯示的 php    重啟apache,phpinfo() 腳本裡顯示的 php    重啟apache,php PHP.Version595.
以上就介紹了Mac下透過 brew 安裝不同版本的php,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn