| 
                        
                         下载PHP 
个人下载版本为 PHP 7.4 (7.4.33) 的版本。 
  
把下载后的文件解包放到合适的位置,比如D:\Program Files\php-7.4.33-Win32-vc15-x86。 
  
配置环境变量 
进入到系统变量 
  
然后把php根目录的路径加入进入,以及ext的内容一并加入到Path环境变量。 
  
cmd执行如下命令查看是否搭建环境成功: 
C:\Users\adong>php -v PHP 7.4.33 (cli) (built: Nov  2 2022 17:33:44) ( ZTS Visual C++ 2017 x86 ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies
 
  
Composer 安装 
Composer是PHP开发必不可少的工具之一,可以有效的减少依赖包下载和管理的烦恼。 
下载 Composer 
安装前请务必确保已经正确安装了 PHP。打开命令行窗口并执行php -v查看是否正确输出版本号。 
Composer 的官方网址如下: 
Windows 平台上,我们只需要下载 Composer-Setup.exe 后,一步步安装即可。 
需要注意的是你需要开启 openssl 配置,我们打开 php 目录下的 php.ini,将extension=php_openssl.dll前面的分号去掉就可以了。 
  
安装成功后,我们可以通过命令窗口(cmd) 输入composer --version命令来查看是否安装成功: 
C:\Users\adong>composer?--version Composer?version?2.4.4?2022-10-27?14:39:29
  
也可以按照中文网的官方文档,直接按照步骤下载即可: 
php?-r?"copy('https://install.phpcomposer.com/installer',?'composer-setup.php');"
  
php?composer-setup.php
  
php?-r?"unlink('composer-setup.php');"
  
更改阿里云 Composer 镜像 
因为国外网站访问比较慢,这里介绍安装Composer 镜像。 
阿里云 Composer 镜像 【推荐 】 
composer?config?-g?repo.packagist?composer?https://mirrors.aliyun.com/composer/
  
国内云 Composer 镜像 
composer?config?-g?repo.packagist?composer?https://packagist.phpcomposer.com
  
腾讯云 Composer 镜像 
composer?config?-g?repo.packagist?composer?https://mirrors.cloud.tencent.com/composer/
  
华为云 Composer 镜像 
composer?config?-g?repo.packagist?composer?https://repo.huaweicloud.com/repository/php/
  
安畅云 Composer 镜像 
composer?config?-g?repo.packagist?composer?https://php.cnpkg.org/
  
开发常用配置 
这里参考了phpStudy,开放一些常见的php.ini配置组件,首先把下面这些扩展extendsion注释打开: 
extension=bz2 extension=curl extension=fileinfo extension=gd2 extension=gettext extension=mbstring extension=mysqli extension=openssl extension=pdo_mysql
  
然后修改当前的扩展引入目录,这里修改为./ext: 
;?Directory?in?which?the?loadable?extensions?(modules)?reside. ;?http://php.net/extension-dir ;extension_dir?=?"./" ;?On?windows: extension_dir?=?"./ext"
  
这样处理之后,常用的组件就基本齐全的。 
伪静态 
在各种PHP开发使用的全包软件中如果想要去除掉,可以在nginx里面配置伪静态,伪静态配置如下: 
location?/?{ ?if(!-e?$request_filename){ ??rewrite?^/index.php(.*)$?/index.php?s=/$1?last; ??rewrite??^(.*)$??/index.php?s=/$1??last; ??break; ?} }
 
  
如果上面的内容设置报错,可以设置为下面的内容: 
location?/?{ ?if?(!-e?$request_filename){ ??rewrite??^(.*)$??/index.php?s=$1??last;???break; ?} }
  
VsCode 配置 
VsCode也算是用的比较多的开发PHP的工具,进行配置之后要比Jerbrian家的IDE要方便很多。 
VsCode 的下载网址如下: 
Visual Studio Code - Code Editing. Redefined 
下载之后,我们直接下载相关的组件: 
  
接下来是痛苦折磨的Xdebug配置。 
Xdebug配置 
在VS Code中需要配置使用的PHP版本,对应的php.ini需要开启debug配置才可以正常使用。因为个人使用的是PhpStudy,所以暂时先引入到PhpStudy当中。 
{ ????"php.validate.executablePath":?"D:/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe", ????"php.debug.executablePath":?"D:/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe" }
  
接着下载Xdebug,进入下面的官网: 
Xdebug - Debugger and Profiler Tool for PHP 
Windows使用下面的方式php扩展,这里选择第二个链接。 
  
这里需要用户复制Phpinfo的信息,然后Xdebug页面会分析Phpinfo给出合适的版本。具体的操作如下,直接新建一个php文件,然后添加下面的代码: 
<?php ?phpinfo();
  ?>
  
比如个人访问页面出现下面的内容 
  
把这个页面的内容ctrl + A 全选贴到页面即可: 
  
之后点击分析按钮即可,如果提示找不到,则自行下载合适的版本放到ext目录。我们把插件下载到对应的Php安装目录的ext目录下面,这里建议重命名为php_xdebug.dll,为什么作为一个插件进行扩展这个个人也说不清楚,网络上有部分网友尝试说放到ext扩展才能生效也就照做了。 
这里说一个小插曲,个人在自己的电脑尝试发现xdebug给个人的选择是建议升级到7.4.40 版本并且提示不兼容???有点摸不着头脑,最后下载了 xdebug-3.04 的版本。 
注意这是个dll文件,使用部分浏览器下载可能会误认为是病毒,需要自行允许放行 
之后我们回到VSCode当中创建debu配置文件,创建配置如图: 
  
个人创建之后Json内容如下(通常不需要自行配置): 
{
  ????//?Use?IntelliSense?to?learn?about?possible?attributes.
  ????//?Hover?to?view?descriptions?of?existing?attributes.
  ????//?For?more?information,?visit:?https://go.microsoft.com/fwlink/?linkid=830387
  ????"version":?"0.2.0",
  ????"configurations":?[
  ????????{
  ????????????"name":?"Listen?for?Xdebug",
  ????????????"type":?"php",
  ????????????"request":?"launch",
  ????????????"port":?[
  ????????????????9003,
  ????????????????9000
  ????????????]
  ????????},
  ????????{
  ????????????"name":?"Launch?built-in?server?and?debug",
  ????????????"type":?"php",
  ????????????"request":?"launch",
  ????????????"runtimeArgs":?[
  ????????????????"-S",
  ????????????????"localhost:8000",
  ????????????????"-t",
  ????????????????"."
  ????????????],
  ????????????"port":?9003,
  ????????????"serverReadyAction":?{
  ????????????????"action":?"openExternally"
  ????????????}
  ????????},
  ????????{
  ????????????"name":?"Debug?current?script?in?console",
  ????????????"type":?"php",
  ????????????"request":?"launch",
  ????????????"program":?"${file}",
  ????????????"cwd":?"${fileDirname}",
  ????????????"externalConsole":?false,
  ????????????"port":?9003
  ????????}
  ????]
  }
  
这里注意端口9003,一定要和php.ini的端口一致,否则是无法Debug的。接着是最大的踩坑点,也就是php.ini中debug的配置,因为Xdebug升级过程的配置细节在不断变动,所以这里仅仅能保证php .7.4.3 版本 + Xdebug 3.04 的版本可以用这套配置正常Debug。 
具体可以参考下面的配置,再次强调 9003 这个端口的重要性: 
[Xdebug] zend_extension=D:/phpstudy_pro/Extensions/php/php7.4.3nts/ext/php_xdebug.dll xdebug.collect_params=1 xdebug.collect_return=1 xdebug.remote_enable?=?1 xdebug.remote_autostart?=?1 xdebug.auto_trace=On xdebug.trace_output_dir=D:/phpstudy_pro/Extensions/php_log/php7.4.3nts.xdebug.trace xdebug.profiler_enable=On xdebug.profiler_output_dir="D:/phpstudy_pro/Extensions/php_log/php7.4.3nts.xdebug.profiler" ;?xdebug.remote_enable=yes xdebug.mode=debug xdebug.start_with_request=yes xdebug.remote_host=localhost xdebug.remote_port=9003 xdebug.remote_handler=dbgp
  
最后我们启动服务查看phpinfo的信息。 
  
下面是在vsCode中编写代码,并且打上断点。 
  
我们进入到VsCode 的 Run And Debug 查看相关debug 选项,第一个选项是需要配合服务器请求相关的PHP之后进入到DEBUG,第三个是在控制台进行DEBUG运行。 
  
之后我们开启debug模式,最终正常进入断点。 
  
  
问题讨论 
最有可能碰到问题就是按照上面的配置之后debug开启页面访问没有进入debug,个人的建议是多尝试修改Php.ini配置,注意配置路径是否正确,Vscode在Debug读取配置失败会在页面下面给出提示,是个不错的排查手段。 
总结 
没什么好总结的,PHP是我见过最恶心的配置之一。 
                                                (编辑:泰州站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |