mac 下的php环境,要不是自带编译好的,要不就是第三方的库
类似操作:curl -s http://php-osx.liip.ch/install.sh | bash -s 7.2
第三方库有个小问题就是重新编译比较麻烦,例如需要重新添加memcache memcached 等
但是偶尔还需要自行编译时(例如增加PHP支持GD库FreeType)操作流程可以参考如下方法:
1、打开本地的phpinfo如下图示,得到php的版本号,去下载对应的源码,解包到本地;
2、在phpinfo界面的顶部,查看原始编译命令【configure command】,复制出来
原始编译命令(替换掉单引号'之后的字符串)
./configure --prefix=/usr/local/php/7.2 --with-config-file-path=/usr/local/etc/php/7.2 --with-config-file-scan-dir=/usr/local/etc/php/7.2/conf.d --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql --with-iconv-dir=/usr/local --enable-short-tags --with-zlib --with-libxml-dir=/usr/bin/xml2-config --enable-xml --disable-rpath --enable-bcmath --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt-dir=/usr/local/Cellar/mcrypt/2.6.8/ --with-gd --with-openssl=/usr/local/opt/openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --disable-fileinfo --enable-maintainer-zts --enable-mysqlnd
3、brew install freetype
brew 安装的位置,默认为/usr/local/Cellar/...
然后得到类似路径: /usr/local/Cellar/freetype/2.9.1/
4、重新编译php(其实就是在第二点增加参数 --with-freetype-dir=...)
./configure --prefix=/usr/local/php/7.2 --with-config-file-path=/usr/local/etc/php/7.2 --with-config-file-scan-dir=/usr/local/etc/php/7.2/conf.d --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql --with-iconv-dir=/usr/local --enable-short-tags --with-zlib --with-libxml-dir=/usr/bin/xml2-config --enable-xml --disable-rpath --enable-bcmath --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt-dir=/usr/local/Cellar/mcrypt/2.6.8/ --with-gd --with-openssl=/usr/local/opt/openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --disable-fileinfo --enable-maintainer-zts --enable-mysqlnd --with-freetype-dir=/usr/local/Cellar/freetype/2.9.1/
5、make clean; make; make install;
6、顺便在发一个关闭php-fpm服务的命令:
ps -eaf |grep "php-fpm" | grep -v "grep"| awk '{print $2}'|xargs kill -9
完毕