当前位置 主页 > 服务器问题 > nginx问题汇总 >

    在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程

    栏目:nginx问题汇总 时间:2019-03-14 16:48

    这篇文章主要介绍了在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程,包括使用phpize安装PHP扩展的方法,需要的朋友可以参考下

    因为甲骨文的尿性。mariadb应该要顶替mysql了。所以抛弃mysql

    1,编译nginx
    分别下载nginx,openssl,pcre
    编译openssl的时候会提示

    WARNING! If you wish to build 64-bit library, then you have toinvoke ‘./Configure darwin64-x86_64-cc' *manually*.

    如果你不停止编译就会出错。这个问题应该是 openssl/config脚本猜对你的系统是64位,但是 会根据$KERNEL_BITS来判断是否开启x86_64编译,默认 是不开启的(很奇怪的设置,虽然会给你5秒时间停止编译并手动开启),所以你生成的openssl库文件是32位的,最后静态链接到nginx会出错。目前看来没有很好的方法把x86_64的参数传到openssl配置文件中 (openssl/config 猜测os架构,设置编译的参数是32位还是64位,默认是32位,然后调用openssl/Configure生成Makefile)

    可以在configure之前export KERNEL_BITS=64,如果还是不起作用
    就要手到修改了
    进入nginx目录

    复制代码 代码如下:
    $ ./configure ./configure –prefix=/usr/locale/nginx –with-openssl=../openssl-1.0.1i –with-pcre=../pcre-8.33

    手动修改 objs/Makefile:

    ./config –prefix=/Users/xxx/Downloads/openssl-1.0.1e/.openssl no-shared no-threads

    改成

    复制代码 代码如下:
    ./Configure darwin64-x86_64-cc –prefix=/Users/xxx/Downloads/openssl-1.0.1e/.openssl no-shared no-threads

    再make
    2,编译php
    下载php源码和一些类库
    zlib:http://www.zlib.net/
    GD库:https://bitbucket.org/libgd/gd-libgd/downloads/libgd-2.1.0.tar.gz 不好下
    freetype:http://sourceforge.net/projects/freetype/
    libpng:http://www.libpng.org/pub/png/libpng.html
    libjpeg:http://www.ijg.org/

    curl: http://curl.haxx.se/download.html

    mhash: http://sourceforge.net/projects/mhash/
    mcrypt: http://mcrypt.hellug.gr/
    还有bzip2。 gettext 和libtool 在gnu官网,不过速度不行,其他的库我用了系统自带。懒得再折腾,到时候没啥补啥。
    除了libtool直接扔在了/usr,其他我都装在了/usr/local的一个个单独目录里面。比如jpeg就是/usr/local/jpeg方便以后修改

    复制代码 代码如下:

    ./configure –prefix=/Users/saint/bin/php –enable-inline-optimization –enable-fpm –with-mcrypt=/usr/local/libmcrypt –with-zlib –enable-mbstring –with-openssl –with-mysql –with-mysqli –with-mysql-sock –with-gd –with-jpeg-dir=/usr/local/jpeg –enable-gd-native-ttf –enable-pdo –with-gettext –with-curl –with-pdo-mysql –enable-sockets –enable-bcmath –enable-xml –with-bz2=/usr –enable-zip –enable-freetype –with-png-dir=/usr/local/libpng –with-pcre-regex –with-iconv-dir=/usr –with-gettext=/usr/local/gettext

    3.编译mariadb

    编译mariabd需要先安装cmake。去www.cmake.org下载安装tar zxf mariadb-5.5.32.tar.gz

    cd mariadb-5.5.32cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb \
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \-DMYSQL_DATADIR=/data/mariadb \-DSYSCONFDIR=/usr/local/mariadb \-DMYSQL_USER=mysql \-DMYSQL_TCP_PORT=3306 \-DWITH_XTRADB_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DENABLED_LOCAL_INFILE=1 \-DWITH_EXTRA_CHARSETS=1 \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DEXTRA_CHARSETS=all \-DWITH_BIG_TABLES=1 \-DWITH_DEBUG=0