用Visual Studio Code Debug世界上最好的语言(Mac篇)


layout: post

title: 用Visual Studio Code Debug世界上最好的语言(Mac篇)

category: PHP

date: 2018-05-21

tags:

  • Visual Studio Code
  • debug
  • PHP
  • xdebug

# 用Visual Studio Code Debug世界上最好的语言(Mac篇)

首先,你要有台Macbook Pro,接着才继续看这个教程.

PS:Windows用户看这里用Visual Studio Code Debug世界上最好的语言

## brew 环境准备

brew.sh,或者

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

## PHP7 + nginx + php-fpm + xdebug

### PHP7

brew install php@7.1

安装完了之后看下安装路径:

where php;

##➜  ~ where php

##   /usr/local/opt/php@7.1/bin/php

##   /usr/bin/php

一般php.ini在/usr/local/etc/php/7.1

ls /usr/local/etc/php/7.1

#conf.d       pear.conf    php-fpm.conf php-fpm.d    php.ini

待会我们配置xdebug和php-fpm的时候会用到这个这些配置文件的,先跳过

## xdebug安装

本来其实一句brew install php71-xdebug --without-homebrew-php就完事的,谁知道homebrew-php最近被移除了,所以就尴尬了...

手动去下载xdebug然后配置吧.下载页面:https://xdebug.org/files/

选择自己要安装的版本,我这里选了2.6.

# 创建一个你喜欢的路径存放,我放在了~/tool/目录下;

mkdir tool;

wget https://xdebug.org/files/xdebug-2.6.0.tgz;

# 解压

tar xvzf xdebug-2.6.0.tgz;

cd xdebug-2.6.0;

# 初始化php模块

phpize;

# 生成对应的so文件

# ./configure --enable-xdebug --with-php-config=PHP安装路径/bin/php-config;

./configure --enable-xdebug --with-php-config=/usr/local/Cellar/php@7.1/7.1.17/bin/php-config;

# 上一步正常执行完毕之后会在xdebug-2.6.0/modules/文件夹下生成xdebug.la和xdebug.so,待会我们在php.ini中配置xdebug会用到这个文件

## 安装nginx

brew install nginx

### 配置nginx.conf

安装完成之后开始配置nginx,首先创建一堆需要用到的文件件.

mkdir -p /usr/local/var/logs/nginx

mkdir -p /usr/local/etc/nginx/sites-available

mkdir -p /usr/local/etc/nginx/sites-enabled

mkdir -p /usr/local/etc/nginx/conf.d

mkdir -p /usr/local/etc/nginx/ssl

sudo mkdir -p /var/www

sudo chown :staff /var/www

sudo chmod 777 /var/www

#作者:GQ1994

#链接:https://www.jianshu.com/p/a642ee8eca9a

#來源:简书

#著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

然后vim /usr/local/etc/nginx/nginx.conf 输入以下内容:

user root wheel; #默认的是nobody会导致403

worker\_processes  1;

error\_log   /usr/local/var/logs/nginx/error.log debug;

pid        /usr/local/var/run/nginx.pid;

events {

    worker\_connections  256;

}

http {

    include       mime.types;

    default\_type  application/octet-stream;

    log\_format  main  '$remote\_addr - $remote\_user [$time\_local] "$request" '

 '$status $body\_bytes\_sent "$http\_referer" '

 '"$http\_user\_agent" "$http\_x\_forwarded\_for"';

    access\_log  /usr/local/var/logs/access.log  main;

    sendfile        on;

    keepalive\_timeout  65;

    port\_in\_redirect off;

    include /usr/local/etc/nginx/sites-enabled/\*;

}

### 设置nginx php-fpm配置文件

vim /usr/local/etc/nginx/conf.d/php-fpm

修改为(没有则创建)

#proxy the php scripts to php-fpm

location ~ \.php$ {

    try\_files                   $uri = 404;

    fastcgi\_pass                127.0.0.1:9000;

    fastcgi\_index               index.php;

    fastcgi\_intercept\_errors    on;

    include /usr/local/etc/nginx/fastcgi.conf;

}

### 创建默认虚拟主机default

vim /usr/local/etc/nginx/sites-available/default输入:

server {

listen       80;#如果80被用了可以换成别的,随你开心

server\_name  www.qilipet.com admin.qilipet.com;

root   /var/www/pet/public;

access\_log  /usr/local/var/logs/nginx/default.access.log  main;

index index.php index.html index.htm;

location / {

 # First attempt to serve request as file, then

 # as directory, then fall back to displaying a 404.

            try\_files $uri $uri/ /index.php?$query\_string;

 # Uncomment to enable naxsi on this location

 # include /etc/nginx/naxsi.rules

    }

location ~ \.php$ {

            fastcgi\_pass  127.0.0.1:9000;

            fastcgi\_index index.php;

            fastcgi\_param SCRIPT\_FILENAME $document\_root$fastcgi\_script\_name;

            include    fastcgi\_params;

    }

}

此部分内容基本来自GQ1994:mac下配置php、nginx、mysql、redis

## 配置php.ini

回到我们的/usr/local/etc/php/7.1文件夹

在php.ini中加入xdebug配置

[xdebug]

;zend\_extension="刚刚的xdebug路径/modules/xdebug.so"

zend\_extension="~/tool/xdebug-2.6.0/modules/xdebug.so"

xdebug.remote\_enable = 1

xdebug.remote\_autostart = 1

xdebug.remote\_connect\_back = 1

;默认的9000已经被php-fpm占用了,切记换一个端口

xdebug.remote\_port = 9001

xdebug.scream = 0

xdebug.show\_local\_vars = 1

重启一下php-fpm和nginx,看一下php是不是都正常跑起来了.

## VS Code配置

### User Settings配置PHP目录

 "php.executablePath": "/usr/local/opt/php@7.1/bin/php"

### 安装php debug插件

安装完成之后配置一下launch.json

{

 // 使用 IntelliSense 了解相关属性。 

 // 悬停以查看现有属性的描述。

 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387

 "version": "0.2.0",

 "configurations": [

        {

 "name": "Listen for XDebug",

 "type": "php",

 "request": "launch",

 "port": 9001 //默认是9000已经被php-fpm占用,上一步我们配置远程端口是9001

        },

        {

 "name": "Launch currently open script",

 "type": "php",

 "request": "launch",

 "program": "${file}",

 "cwd": "${fileDirname}",

 "port": 9001 //默认是9000已经被php-fpm占用,上一步我们配置远程端口是9001

        }

    ]

}

然后就愉快debug最好的语言吧!

debug

## 其他部分

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏静晴轩

生成lua的静态库.动态库.lua.exe和luac.exe

前些日子准备学习下关于lua coroutine更为强大的功能,然而发现根据lua 5.1.4版本来运行一段代码的话也会导致 “lua: attempt to ...

95811
来自专栏小狼的世界

利用PHP的Popen实现RRDTOOL作图的动态输出

最近看了一下RRDTOOL如何作图,语法确实比较繁琐,但不是太难。命令行下执行的时候,每次都需要输出成为一个文件。我们希望做一个应用,能够动态生成图表,看了看C...

1373
来自专栏杂七杂八

pip安装提示PermissionError: [WinError 5]错误问题解决

今天想要更新gensim包,结果发现pip install --upgrade gensim,命令最后报错,提示PermissionError,我就想是不是权限...

3587
来自专栏木可大大

XSS攻击与防范

XSS攻击,又称为CSS(Cross Site Scripting),由于CSS已经被用作层叠样式表,为了避免这个冲突,我们将Cross缩写成X。XSS攻击的中...

851
来自专栏云计算教程系列

如何在服务器上安装LAMP

在本教程中,我们将在Ubuntu上安装LAMP。Ubuntu将满足我们的第一个要求:Linux操作系统。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免...

4652
来自专栏smy

git将代码提交到远程分支(非主分支)

一个仓库可以包含多个分支,有一个默认的主分支:master 若想提交代码至远程仓库的某个分支(非主分支) 先查看下本地分支以及远程分支:git branch -...

3265
来自专栏张善友的专栏

asp.net 性能调较

由于asp.net 处理进程在machine.config配置文件中的配置为<processModel autoConfig="true" />,这意味着你的a...

2177
来自专栏三杯水

系统重启后nginx reload不生效原因分析

这是一种比较少见,困扰我很久的问题,虽然这个问题很简单,但是找到根本原因还是费了不少时间,现在把分析过程分享如下。

3152
来自专栏散尽浮华

完整部署CentOS7.2+OpenStack+kvm 云平台环境(6)--在线调整虚拟机的大小

前面提到过openstack环境部署及创建虚拟机的完整过程,然后有时候会发现创建的虚拟机规格太小,满足不了业务需求;亦或是虚拟机规格太大,容易造成资源浪费。 于...

2799
来自专栏小车博客

【开源】采集1024的图片到WordPress,图床只支持chevereto

2723

扫码关注云+社区

领取腾讯云代金券