mac10.9+php5.5.15+brew0.9.5的安装-程序员宅基地

技术标签: 网络  php  ruby  

 
Brew 是 Mac 下面的包管理工具,通过 Github 托管适合 Mac 的编译配置以及 Patch,可以方便的安装开发工具。 Mac 自带ruby 所以安装起来很方便,同时它也会自动把git也给你装上。 官方网站: http://brew.sh
 
安装方法:
?
1
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
使用以下方法可以查看brew是否安装成功,以及目前的版本:
?
1
2
liondeMacBook-Pro:~ lion$ brew - v
Homebrew 0.9.5
添加brew的PHP扩展库:
?
1
2
3
4
liondeMacBook-Pro:~ lion$ brew update
liondeMacBook-Pro:~ lion$ brew tap homebrew /dupes
liondeMacBook-Pro:~ lion$ brew tap homebrew /php
liondeMacBook-Pro:~ lion$ brew tap josegonzalez /homebrew-php
 
可以使用brew options php55命令查看安装时可以有哪些选项,因为我之前安装过curl、libxslt、openssl所以,在选项中会提示是否使用brew安装的相关扩展:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
liondeMacBook-Pro:Library lion$ brew options php55
--disable-opcache
     Build without Opcache extension
--disable-zend-multibyte
     Disable auto-detection of Unicode encoded scripts (PHP 5.2 and 5.3 only)
--homebrew-apxs
     Build against apxs in Homebrew prefix
--with-apache
     Enable building of shared Apache 2.0 Handler module, overriding any options which disable apache
--with-cgi
     Enable building of the CGI executable (implies --without-apache)
--with-debug
     Compile with debugging symbols
--with-fpm
     Enable building of the fpm SAPI executable (implies --without-apache)
--with-gmp
     Build with gmp support
--with-homebrew-curl
     Include Curl support via Homebrew
--with-homebrew-libxslt
     Include LibXSLT support via Homebrew
--with-homebrew-openssl
     Include OpenSSL support via Homebrew
--with-imap
     Include IMAP extension
--with-intl
     Include internationalization support
--with-libmysql
     Include (old-style) libmysql support instead of mysqlnd
--with-mssql
     Include MSSQL-DB support
--with-pdo-oci
     Include Oracle databases (requries ORACLE_HOME be set )
--with-pgsql
     Include PostgreSQL support
--with-phpdbg
     Enable building of the phpdbg SAPI executable (PHP 5.4 and above)
--with-thread-safety
     Build with thread safety
--with-tidy
     Include Tidy support
--without-bz2
     Build without bz2 support
--without-mysql
     Remove MySQL /MariaDB support
--without-pcntl
     Build without Process Control support
--without-pear
     Build without PEAR
--HEAD
     install HEAD version
开始安装PHP5.5.15,安装后的php-fpm.ini以及php.ini都在目录: /usr/local/etc/php/5.5/下面
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
liondeMacBook-Pro:Library lion$ brew install php55 --with-mssql --with-homebrew-openssl --with-homebrew-libxslt --with-homebrew-curl --with-fpm --with-debug --with-gmp --with-imap --with-tidy --with-libmysql
==> Installing dependencies for php55: curl, freetds, gmp
==> Installing php55 dependency: curl
==> Downloading https: //downloads .sf.net /project/machomebrew/Bottles/curl-7 .37.1.mavericks.bottle. tar .gz
######################################################################## 100.0%
==> Pouring curl-7.37.1.mavericks.bottle. tar .gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local .
 
Mac OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.
 
Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:
 
     LDFLAGS:  -L /usr/local/opt/curl/lib
     CPPFLAGS: -I /usr/local/opt/curl/include
 
==> Summary
   /usr/local/Cellar/curl/7 .37.1: 285 files, 2.8M
==> Installing php55 dependency: freetds
==> Downloading http: //mirrors .ibiblio.org /freetds/stable/freetds-0 .91. tar .gz
######################################################################## 100.0%
==> . /configure --prefix= /usr/local/Cellar/freetds/0 .91 --with-openssl= /usr/local/opt/openssl --with-tdsver=7.1 --mandir= /usr
==> make
==> make install
   /usr/local/Cellar/freetds/0 .91: 600 files, 9.9M, built in 2.2 minutes
==> Installing php55 dependency: gmp
==> Downloading https: //downloads .sf.net /project/machomebrew/Bottles/gmp-6 .0.0a.mavericks.bottle. tar .gz
######################################################################## 100.0%
==> Pouring gmp-6.0.0a.mavericks.bottle. tar .gz
   /usr/local/Cellar/gmp/6 .0.0a: 15 files, 3.2M
==> Installing php55
==> Downloading http: //www .php.net /get/php-5 .5.15. tar .bz2 /from/this/mirror
Already downloaded: /Library/Caches/Homebrew/php55-5 .5.15
==> . /configure --prefix= /usr/local/Cellar/php55/5 .5.15 --localstatedir= /usr/local/var --sysconfdir= /usr/local/etc/php/5 .5 --
==> make
==> make install
==> /usr/local/Cellar/php55/5 .5.15 /bin/pear config- set php_ini /usr/local/etc/php/5 .5 /php .ini
==> Caveats
The php.ini file can be found in :
     /usr/local/etc/php/5 .5 /php .ini
 
✩✩✩✩ PEAR ✩✩✩✩
 
If PEAR complains about permissions, 'fix' the default PEAR permissions and config:
     chmod -R ug+w /usr/local/Cellar/php55/5 .5.15 /lib/php
     pear config- set php_ini /usr/local/etc/php/5 .5 /php .ini
 
✩✩✩✩ Extensions ✩✩✩✩
 
If you are having issues with custom extension compiling, ensure that
you are using the brew version, by placing /usr/local/bin before /usr/sbin in your PATH:
 
       PATH= "/usr/local/bin:$PATH"
 
PHP55 Extensions will always be compiled against this PHP. Please install them
using --without-homebrew-php to enable compiling against system PHP.
 
✩✩✩✩ PHP CLI ✩✩✩✩
 
If you wish to swap the PHP you use on the command line, you should add the following to ~/.bashrc,
~/.zshrc, ~/.profile or your shell's equivalent configuration file :
 
       export PATH= "$(brew --prefix homebrew/php/php55)/bin:$PATH"
 
✩✩✩✩ FPM ✩✩✩✩
 
To launch php-fpm on startup:
     * If this is your first install :
         mkdir -p ~ /Library/LaunchAgents
         cp /usr/local/Cellar/php55/5 .5.15 /homebrew .mxcl.php55.plist ~ /Library/LaunchAgents/
         launchctl load -w ~ /Library/LaunchAgents/homebrew .mxcl.php55.plist
 
     * If this is an upgrade and you already have the homebrew.mxcl.php55.plist loaded:
         launchctl unload -w ~ /Library/LaunchAgents/homebrew .mxcl.php55.plist
         cp /usr/local/Cellar/php55/5 .5.15 /homebrew .mxcl.php55.plist ~ /Library/LaunchAgents/
         launchctl load -w ~ /Library/LaunchAgents/homebrew .mxcl.php55.plist
 
The control script is located at /usr/local/Cellar/php55/5 .5.15 /sbin/php55-fpm
 
Mountain Lion comes with php-fpm pre-installed, to ensure you are using the brew version you need to make sure /usr/local/sbin is before /usr/sbin in your PATH:
 
   PATH= "/usr/local/sbin:$PATH"
 
You may also need to edit the plist to use the correct "UserName" .
 
Please note that the plist was called 'homebrew-php.josegonzalez.php55.plist' in old versions
of this formula.
 
To have launchd start php55 at login:
     ln -sfv /usr/local/opt/php55/ *.plist ~ /Library/LaunchAgents
Then to load php55 now:
     launchctl load ~ /Library/LaunchAgents/homebrew .mxcl.php55.plist
==> Summary
   /usr/local/Cellar/php55/5 .5.15: 477 files, 43M, built in 3.9 minutes
过程中如果出现configure: error: Cannot find OpenSSL's <evp.h>这样的错误,请执行以下命令,将xcode进行更新:
?
1
xcode- select -- install
在PHP5安装完成的提示中写到,如何进行PHP5和mac自带的php以及php-fpm替换,执行以下命令后,我们可以看到当前的php版本已经是最新的了:
?
1
2
3
4
5
6
7
8
9
liondeMacBook-Pro:~ lion$ echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile
liondeMacBook-Pro:~ lion$ echo 'export PATH=/usr/sbin:$PATH' >> ~/.bash_profile
liondeMacBook-Pro:~ lion$ echo 'export PATH=/usr/local/sbin:$PATH' >> ~/.bash_profile
liondeMacBook-Pro:~ lion$ source ~/.bash_profile
liondeMacBook-Pro:~ lion$ php - v
PHP 5.5.15 (cli) (built: Aug 14 2014 15:37:16) (DEBUG)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
liondeMacBook-Pro:~ lion$
 
使用brew search php55-命令,可以查看还有哪些扩展可以安装,然后执行brew install php55-XXX就可以了。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
liondeMacBook-Pro:~ lion$ brew search php55-
php55-amqp       php55-igbinary       php55-msgpack        php55-runkit         php55-varnish
php55-apcu       php55-imagick        php55-mysqlnd_ms     php55-scrypt         php55-vld
php55-augmentedtypes     php55-inclued        php55-oauth          php55-snappy         php55-wbxml
php55-binpack        php55-intl       php55-opcache        php55-solr           php55-xcache
php55-blitz      php55-ioncubeloader      php55-parsekit       php55-sphinx         php55-xdebug
php55-boxwood        php55-jsmin          php55-pcntl          php55-spl-types      php55-xhgui
php55-chdb       php55-judy       php55-pdflib         php55-ssh2           php55-xhp
php55-couchbase      php55-leveldb        php55-pdo-dblib      php55-stats          php55-xhprof
php55-crypto         php55-libevent       php55-pdo-pgsql      php55-stemmer        php55-xmldiff
php55-dbase      php55-libvirt        php55-phalcon        php55-sundown        php55-yac
php55-dbus       php55-lz4        php55-proctitle      php55-svm            php55-yaf
php55-dmtx       php55-lzf        php55-propro         php55-swoole         php55-yaml
php55-ev         php55-mailparse      php55-protobuf       php55-thrift         php55-yar
php55-gearman        php55-mcrypt         php55-pspell         php55-tidy           php55-yaz
php55-geoip      php55-memcache       php55-pthreads       php55-timezonedb     php55-yp
php55-gmagick        php55-memcached      php55-raphf          php55-tokyotyrant        php55-yrmcds
php55-graphdat       php55-midgard2       php55-redis          php55-twig           php55-zmq
php55-htscanner      php55-mongo          php55-redland        php55-uploadprogress     php55-zookeeper
php55-http       php55-mosquitto      php55-riak           php55-uuid
我安装的是以下php5.5几个扩展:
?
1
liondeMacBook-Pro:~ lion$ brew install php55-imagick php55-igbinary php55-ev php55-gmagick php55-geoip php55-memcache php55-memcached php55-thrift php55-xdebug php55-sphinx composer
接下来我们测试php-fpm的配置是否正确,以及是否正确启动:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#测试php-fpm配置是否正确
liondeMacBook-Pro:bin lion$ php-fpm -t
[14-Aug-2014 16:14:30] NOTICE: configuration file /usr/local/etc/php/5 .5 /php-fpm .conf test is successful
liondeMacBook-Pro:bin lion$ php-fpm -c /usr/local/etc/php/5 .5 /php .ini -y /usr/local/etc/php/5 .5 /php-fpm .conf -t
[14-Aug-2014 16:14:48] NOTICE: configuration file /usr/local/etc/php/5 .5 /php-fpm .conf test is successful
 
#启动php-fpm
liondeMacBook-Pro:bin lion$ launchctl load -w ~ /Library/LaunchAgents/homebrew .mxcl.php55.plist
 
#查看9000端口是否在运行
liondeMacBook-Pro:bin lion$ lsof -i:9000
COMMAND   PID USER   FD   TYPE             DEVICE SIZE /OFF NODE NAME
php-fpm 51241 lion    8u  IPv4 0xce9d0f6417637937      0t0  TCP localhost:cslistener (LISTEN)
php-fpm 51243 lion    0u  IPv4 0xce9d0f6417637937      0t0  TCP localhost:cslistener (LISTEN)
php-fpm 51244 lion    0u  IPv4 0xce9d0f6417637937      0t0  TCP localhost:cslistener (LISTEN)
php-fpm 51245 lion    0u  IPv4 0xce9d0f6417637937      0t0  TCP localhost:cslistener (LISTEN)
 
#关闭掉php-fpm进程,再查看9000端口,没有监听了
liondeMacBook-Pro:bin lion$ ps aux| grep php-fpm| grep - v 'grep' | awk '{print $2}' | xargs kill -9
liondeMacBook-Pro:bin lion$ lsof -i:9000
liondeMacBook-Pro:bin lion$
设置PHP-FPM开机运行(其实在安装完成的提示中,也有说明):
?
1
2
ln -sfv /usr/local/opt/php55/ *.plist ~ /Library/LaunchAgents
launchctl load ~ /Library/LaunchAgents/homebrew .mxcl.php55.plist
 
---------------------------------------
博文作者:迦壹
转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作!
---------------------------------------

转载于:https://www.cnblogs.com/lion.net/p/3918383.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dianbutang4605/article/details/102232302

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签