约定
Mac 10.13.6
已经安装brew 和php5.6
Mac环境比较省心的是自带PHP环境,不需要从下载源码编译安装开始,但是默认的PHP版本是7.1
基于原有项目兼容问题,生产环境下以PHP5.6主要版本。
Mac中安装环境的原则是,优先基于Brew工具的包地址安装,其次考虑peal包地址安装,最后选取源代码安装。
PHP版本基础信息
首页终端查看PHP版本
php -v
查看现有的PHP 模块
php -m
5.6安装路径
/usr/local/etc/php/5.6
配置文件路径
/usr/local/etc/php/5.6/php.ini
php-fpm 错误路径
/usr/local/var/log/php-fpm.log
配置nginx环境

nginx路径
/usr/local/etc/nginx
启动nginx
sudo nginx
重启nginx
sudo nginx -s reload
sudo /usr/local/bin/nginx
php-fpm 启动相关问题
https://blog.csdn.net/jiaobuchong/article/details/79603045
https://blog.csdn.net/ch717828/article/details/46663595
使用nginx 监听80端口
参照文章 https://blog.csdn.net/buyueliuying/article/details/78588695 解决Mac root权限造成的监听80端口失效问题。通过本地9090做了中转
PHP开发过程中,使用nginx作为web服务器,我们实际上使用把nginx当作反向代理服务器。
反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。


安装扩展
redis扩展
根据文中参考文档中下载phpredis安装包,cd 到phpredis扩展文件夹下执行命令
sudo ./configure --with-php-config=/usr/local/opt/php@5.6/bin/php-config
几个依赖包的PHP源地址
igbinary
http://pecl.php.net/package/igbinary/2.0.5/windows
pecl serarch igbinary
显示

需要使用sudo 账户运行安装
sudo pecl install igbinary
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
try_files $uri =404;
参考 https://blog.csdn.net/revitalizing/article/details/55053195
mongodb驱动
基于原有的项目原因,php 环境下连接mongodb数据库需要的驱动有两种,分别是旧版mongo 和mongodb,
按照PHP官方说明,旧版mongo驱动已经不推荐使用。
This package has been superseded, but is still maintained for bugs and security fixes.
驱动mongodb主要用于传统的增删改查操作,mongo驱动主要用于使用聚合进行相关的操作。
按照资料显示安装brew工具包的前提下,安装mongodb驱动,只需要brew search mongodb即可,实际上在最新的苹果操作系统上,这种方式已经过时了。
实际上搜索结果如下
brew search mongo

brew search mongodb
显示

并不存在类似 php56-mongo这样的驱动名称
原因不详,有待再研究,最后找到的方法使用pecl安装包
sudo pecl install mongodb
安装mongo驱动
至于mongo驱动则采用编译安装
编译安装
tar zxvf mongo-1.6.16.tar
phpize
sudo ./configure --with-openssl-dir = /usr/local/Cellar/openssl/1.0.2o_2
php的MongoDB扩展编译
http://pecl.php.net/package/mongo
安装Xdebug
首先打开Xdebug官网寻找合适xdebug版本 https://xdebug.org/wizard.php,通过phpinfo信息分析发现,网站不支持PHP7以下版本的安装向导

之后采用编译安装方式安装xdebug
tar zxvf xdebug-2.5.5.tar
cd xdebug-2.5.5
phpize
sudo ./configure
sudo make
sudo make install
查看是否安装成功
php -v
PHP 5.6.37 (cli) (built: Jul 20 2018 08:26:50) Copyright (c) 1997-2016 The PHP GroupZend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend TechnologieswangmingmingdeMacBook-Pro:xdebug-2.5.5
brew reinstall php@5.6
查看占用80端口命令
sudo lsof -i tcp:80
卸载默认的httpd服务,解决80端口被占用,无法启动nginx
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
重启PHP
brew services restart php
参考资料
网友评论