从事php开发已经近两年了,以前调试一直是经过古老的echo和die配合,自从接触php以来一直不习惯这种动态语言的的调试方式,一直想用一用xdebug像静态语言那样调试。曾经也尝试搭建屡次,但遇到了各类各样的坑。最近想追踪一下laravel的源码,被其中各类依赖注入的方式搞的头疼,天然而然但愿可以经过xdebug来帮我解决这个问题,因而又一次开始了与bug死磨硬泡的搭建之路,前先后后花了一天的时间终于成功了,记录一下过程。php
Homebrew是mac上的软件包管理工具,相似于centos上的yum,很是好用。首先咱们要安装它。html
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
mac系统默认是预装了apache和php的,安装地址大概在private/etc/
目录下,可是为了以后维护方便咱们须要本身安装php。nginx
brew install php72
brew安装后的软件能够经过brew list
命令查看,目录在/usr/local/etc/
。laravel
查看php版本git
php -v
若是为系统php版本,这个咱们须要改变环境变量里的php路径github
修改 vim ~/.bash_profile
apache
export PATH="$(brew --prefix php)/bin:$PATH" export PATH="$(brew --prefix php)/sbin:$PATH"
将php设置为开机自启vim
$ 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是否成功启动centos
ps aux|grep php-fpm
brew install nginx
安装以后的ngnix路径在/usr/local/etc/nginx
,nginx 的文件配置跟通常的lnmp配置是同样的,这里就很少赘叙。ruby
万恶的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