1. 程式人生 > >mac下快速安裝php的各個版本

mac下快速安裝php的各個版本

我想安裝PHP5.6。所以,用下面一條命令就可以搞定PHP5.6:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

這條命令執行後,會讓你輸入你的Mac密碼,因為它需要安裝各種擴充套件命令,輸入完密碼後,就靜靜的等吧,我好像等了一分鐘吧,還是蠻快的,就安裝好了。

.....
.....
Extracting usr/local/php5-5.6.11-20150710-223902/bin/uconv
Extracting usr/local/php5-5.6.11-20150710-223902/bin/vacuumdb
Extracting usr/local/php5-5.6.11-20150710-223902/bin/wrjpgcom
Extracting usr/local/php5-5.6.11-20150710-223902/bin/xgettext
Extracting usr/local/php5-5.6.11-20150710-223902/bin/xslt-config
Extracting usr/local/php5-5.6.11-20150710-223902/bin/xsltproc
Executing post-install script /tmp/5.6-10.10-frontenddev-post-install
Create symlink /usr/local/php5/entropy-php.conf /etc/apache2/other/+php-osx.conf
Restarting Apache

Syntax OK
它把PHP安裝到了/usr/local/php5目錄下,是一個單獨的目錄,所以,不會影響到原先的PHP,這2個版本是共存的。完全不會影響到目前的PHP版本。

這個時候,你在終端中輸入php -v 顯示的還是老的版本,如果你想用新的版本的php。可以這樣/usr/local/php5/bin/php -v,這樣很麻煩,可以將這個新的PHP路徑追加到$path中。

vi ~/.profile
//有就編輯,沒有就新建一個這個檔名。
export PATH=/usr/local/php5/bin:/usr/local/php5/sbin:$PATH

//清除下快取,使得它生效
source ~/.profile

這樣,就將新版本的php

命令和php-fpm命令都追加到$PATH中,就可以在全域性使用了。

全域性執行下 :

 ~ php -v
PHP 5.6.11 (cli) (built: Jul 10 2015 22:36:04)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
    with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans
~
~php-fpm -v
PHP 5.6.11 (fpm-fcgi) (built: Jul 10 2015 22:36:10)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
    with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans
你看,都是新的版本了。太他媽的爽了。1分鐘全安裝好了。

它的php.ini 在 /usr/local/php5/lib/php.ini。然後,擴充套件的一些配置都在/usr/local/php5/php.d/目錄下,這樣就清楚很多:

-rw-r--r--  1 root  wheel    75B  7 11 04:39 10-extension_dir.ini
-rw-r--r--  1 root  wheel   114B  7 11 04:39 20-extension-opcache.ini
-rw-r--r--  1 root  wheel   103B  7 11 04:39 50-extension-apcu.ini
-rw-r--r--  1 root  wheel    18B  7 11 04:39 50-extension-curl.ini
-rw-r--r--  1 root  wheel    17B  7 11 04:39 50-extension-gmp.ini
-rw-r--r--  1 root  wheel    83B  7 11 04:39 50-extension-igbinary.ini
-rw-r--r--  1 root  wheel    18B  7 11 04:39 50-extension-imap.ini
-rw-r--r--  1 root  wheel    79B  7 11 04:39 50-extension-intl.ini
-rw-r--r--  1 root  wheel    20B  7 11 04:39 50-extension-mcrypt.ini
-rw-r--r--  1 root  wheel    83B  7 11 04:39 50-extension-memcache.ini
-rw-r--r--  1 root  wheel    84B  7 11 04:39 50-extension-memcached.ini
-rw-r--r--  1 root  wheel    80B  7 11 04:39 50-extension-mongo.ini
-rw-r--r--  1 root  wheel    41B  7 11 04:39 50-extension-mssql.ini
-rw-r--r--  1 root  wheel    80B  7 11 04:39 50-extension-oauth.ini
-rw-r--r--  1 root  wheel    23B  7 11 04:39 50-extension-pdo_dblib.ini
-rw-r--r--  1 root  wheel    23B  7 11 04:39 50-extension-pdo_pgsql.ini
-rw-r--r--  1 root  wheel    19B  7 11 04:39 50-extension-pgsql.ini
-rw-r--r--  1 root  wheel    81B  7 11 04:39 50-extension-propro.ini
-rw-r--r--  1 root  wheel    80B  7 11 04:39 50-extension-raphf.ini
-rw-r--r--  1 root  wheel    22B  7 11 04:39 50-extension-readline.ini
-rw-r--r--  1 root  wheel    80B  7 11 04:39 50-extension-redis.ini
-rw-r--r--  1 root  wheel    79B  7 11 04:39 50-extension-solr.ini
-rw-r--r--  1 root  wheel    79B  7 11 04:39 50-extension-ssh2.ini
-rw-r--r--  1 root  wheel    80B  7 11 04:39 50-extension-twig.ini
-rw-r--r--  1 root  wheel    90B  7 11 04:39 50-extension-uploadprogress.ini
-rw-r--r--  1 root  wheel   430B  7 11 04:39 50-extension-xdebug.ini
-rw-r--r--  1 root  wheel    81B  7 11 04:39 50-extension-xhprof.ini
-rw-r--r--  1 root  wheel    17B  7 11 04:39 50-extension-xsl.ini
-rw-r--r--  1 root  wheel    79B  7 11 04:39 60-extension-pecl_http.ini
-rwxrwxrwx  1 root  wheel    32B  7 21 18:24 99-liip-developer.ini

所以你看,是不是我們開發中用到的能用到的幾乎所有擴充套件他都幫我們安裝好了,真是太讚了。

按照官網上的一些說明,最後的一個檔案99-liip-developer.ini,當我們需要修改一些配置的時候,我們只需要修改這個檔案就可以了,不需要去動php.ini,寫入這個檔案,它會覆蓋php.ini裡的一些配置項。

比如,我需要改正時區:

vi 99-liip-developer.ini
date.timezone = Asia/Shanghai
就可以了。

如果,要啟動新的php-fpm,就將老的程序殺掉,然後再執行新的版本命令:

sudo php-fpm
[21-Jul-2015 23:07:30] ERROR: failed to open configuration file '/usr/local/php5/etc/php-fpm.conf': No such file or directory (2)
[21-Jul-2015 23:07:30] ERROR: failed to load configuration file '/usr/local/php5/etc/php-fpm.conf'
[21-Jul-2015 23:07:30] ERROR: FPM initialization failed

會報錯,說找不到php-fpm.conf。它預設去/usr/local/php5/etc/目錄下去找了,由於,我之前已經有了一個在/etc/php-fpm.conf。所以,我直接用這個配置好了:

sudo php-fpm -y /etc/php-fpm.conf 

就可以了。

我寫了這麼多,其實,就一句話可以搞定,現在就可以愉快的使用新版本的PHP了。而且官網還有其他的版本和一些用法和注意項,可以好好看下。