董志强 2019-06-28
从事php开发已经近两年了,之前调试一直是通过古老的echo和die配合,自从接触php以来一直不习惯这种动态语言的的调试方式,一直想用一用xdebug像静态语言那样调试。曾经也尝试搭建多次,但遇到了各种各样的坑。最近想追踪一下laravel的源码,被其中各种依赖注入的方式搞的头疼,自然而然希望能够通过xdebug来帮我解决这个问题,于是又一次开始了与bug死磨硬泡的搭建之路,前前后后花了一天的时间终于成功了,记录一下过程。
Homebrew是mac上的软件包管理工具,类似于centos上的yum,非常好用。首先我们要安装它。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
mac系统默认是预装了apache和php的,安装地址大概在private/etc/
目录下,但是为了之后维护方便我们需要自己安装php。
brew install php72
brew安装后的软件可以通过brew list
命令查看,目录在/usr/local/etc/
。
查看php版本
php -v
如果为系统php版本,这个我们需要改变环境变量里的php路径
修改 vim ~/.bash_profile
export PATH="$(brew --prefix php)/bin:$PATH" export PATH="$(brew --prefix php)/sbin:$PATH"
将php设置为开机自启
$ mkdir -p ~/Library/LaunchAgents $ cp /usr/local/opt/php/homebrew.mxcl.php.plist ~/Library/LaunchAgents/ $ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php.plist
查看php-fpm是否成功启动
ps aux|grep php-fpm
brew install nginx
安装之后的ngnix路径在/usr/local/etc/nginx
,nginx 的文件配置跟一般的lnmp配置是一样的,这里就不多赘叙。
万恶的xdebug,这里是我踩坑最多的地方了,首先安装网上的教程brew install php72-xdebug
然而
Error: No available formula with the name "php72-xdebug"
万恶的error,关于这个问题官方的解释于是我决定采用stackoverflow上一位大神的方法,原文
tar -xvzf xdebug-2.7.0alpha1.tgz
cd xdebug-2.7.0alpha1
phpize
./configure
make
cp modules/xdebug.so /usr/local/opt/php/lib/php/20170718/xdebug.so
[xdebug] # 必须使用绝对路径 zend_extension="/usr/local/opt/php/lib/php/20170718/xdebug.so" xdebug.remote_enable=1 #xdebug.remote_host=local004.khs1994.com xdebug.remote_connect_back=1 xdebug.remote_port=9010 xdebug.remote_log=/tmp/xdebug-remote.log xdebug.remote_handler=dbgp xdebug.idekey = PHPSTORM xdebug.remote_autostart = 1