下载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是我见过最恶心的配置之一。
(编辑:成都站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|