wamp环境搭建 php Apache 在VSCode中调试PHP

  • 进入php安装目录。
  • 修改php.ini-developement为php.ini
  • 配置扩展目录为你的PHP安装目录下的ext目录,在我这里是
  •   extension_dir = "C:/php5.6ts/ext"
    
  • 把你需要的extension前面的引号去掉,我这里是
  •   extension=php_bz2.dll
      ;extension=php_curl.dll
      ;extension=php_fileinfo.dll
      extension=php_gd2.dll
      ;extension=php_gettext.dll
      ;extension=php_gmp.dll
      ;extension=php_intl.dll
      ;extension=php_imap.dll
      ;extension=php_interbase.dll
      ;extension=php_ldap.dll
      ;extension=php_mbstring.dll
      ;extension=php_exif.dll      ; Must be after mbstring as it depends on it
      extension=php_mysql.dll
      extension=php_mysqli.dll
      ;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client
      ;extension=php_openssl.dll
      ;extension=php_pdo_firebird.dll
      extension=php_pdo_mysql.dll
    
  • 配置date.timezone = Asia/Shanghai

配置xdebug

  • 这个配置是可选的,为的是开发过程中可以进行代码调试。
  • 首先下载对应版本的xdebug的dll文件。这里对应版本的意思是,版本号一致,线程安全类型一致(ts或者nts),位数一致(x84,x64)
  • 把下载下来的xdebug的dll文件放到php文件夹的ext目录下。
  • 配置php.ini,加入如下代码:(注意把dll文件的路径和名字换成你自己的)
  •   [XDebug]
      zend_extension = "C:/php56ts/ext/php_xdebug-2.4.0-5.6-vc11.dll"
      //添加这个允许远程调试,这样就可以使用IDE进行断点调试了
      xdebug.remote_enable = 1
      xdebug.remote_autostart = 1
      xdebug.auto_trace=1
      xdebug.collect_params=1
      xdebug.collect_return=1
      //调试中的信息存放目录
      xdebug.trace_output_dir="D:/xdebug/trace"
      //优化信息存放
      xdebug.profiler_enable=1
      xdebug.profiler_output_dir="D:/xdebug/profiler"
      xdebug.remote_host=127.0.0.1  
      xdebug.remote_port=9000       
    

Apache

  • 进入apache安装目录,打开conf文件夹下的httpd.conf配置文件。

  • 配置serverRoot

  •   ServerRoot "C:/Program Files (x86)/Apache24" //你的apache目录
    
  • 配置documentRoot

  •   DocumentRoot "D:/www" //你的网站根目录
    
  • 配置Directory

  •   <Directory "D:/www"> //和你的网站根目录一致
    
  • 添加PHP模块

  •   //LoadModule最后的路径为你的php5apache2_4.dll的路径  
      LoadModule php5_module "C:/php56ts/php5apache2_4.dll"
      //添加php模块要处理的文件类型
      addType application/x-httpd-php .php
      //告诉Apache去哪里寻找php.ini
      PhpIniDir "C:/php56ts"
    

注意:你的php和apache版本可能不同。如果是apache2.2版本,和php5.3以下的版本,LoadModule后的路径应该为php5apache2_2.dll的路径。
还有一种情况是你找不到我说的任何一个dll文件,那么你需要下载ts版本的PHP压缩包。nts版本是没有这个dll文件的。

  • 进入apachein目录,打开命令行。
  • 输入 httpd -k install 开启服务。
  • 输入 httpd -k start 运行服务器。

注意 如果出现错误提示,80或者443端口被占用的解决方案如下:
- 在命令行中输入 netstat -ano
- 查看占用对应端口的服务的pid
- 打开任务管理器,寻找对应的pid服务。
- 停止对应pid的服务。
- 重新启动apache ,命令 httpd -k start

在VSCode中调试PHP

参见:使用vscode写php及调试