PHP 7.4下载与环境搭建(含Composer)及验证的详细步骤
[id_1948385033]

个人下载版本为 PHP 7.4 (7.4.33) 的版本。
下载后的文件进行解包,然后将其放置在合适的位置,例如 D:\Program Files\php-7.4.33-Win32-vc15-x86 。
配置环境变量
进入到系统变量
接着将 php 根目录的路径添加进去,同时把 ext 的内容也一同添加到 Path 环境变量中。
[id_396593580]
<code style="overflow-x: auto;padding: 16px;background: #272822;color: #ddd;display: -webkit-box;font-family: Operator Mono, Consolas, Monaco, Menlo, monospace;border-radius: 0px;font-size: 12px;-webkit-overflow-scrolling: touch;">C:\Users\adong>php -v
PHP 7.4.33 是在命令行界面(cli)下构建的,构建时间是 2022 年 11 月 2 日 17 点 33 分 44 秒,它支持线程安全(ZTS),是由 Visual C++ 2017 编译的 x86 版本。
Copyright (c) The PHP Group
Zend Engine v3.4.0 ,其版权属于 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 将'https://install.phpcomposer.com/installer'这个地址复制到'composer-setup.php'文件中。
php composer-setup.php
php -r 删除('composer-setup.php');
更改阿里云 Composer 镜像
国外网站访问速度较为缓慢,所以在此为大家介绍如何安装 Composer 镜像。
阿里云 Composer 镜像 【推荐 】
使用 composer 配置全局仓库为 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:镜子位于腾讯云,其地址是 cloud.tencent.com/composer/ 。
华为云 Composer 镜像
composer config -g repo.packagist composer https:华为云仓库中的仓库路径为 /repository/php/ 。 该仓库位于华为云的 repo 服务中。 其主要用于存储和管理 PHP 相关的代码和资源。 开发者可以通过该仓库获取和共享 PHP 相关的内容。 仓库的存在为 PHP 开发提供了便利的存储和协作环境。
安畅云 Composer 镜像
composer config -g repo.packagist composer https://php.cnpkg.org/
开发常用配置
这里以 phpStudy 为参考,将一些常见的 php.ini 配置组件开放。首先,把以下这些扩展(extension)的注释打开:
extension=bz2
extension=curl
extension=fileinfo
extension=gd2
extension=gettext
extension=mbstring
extension=mysqli
extension=openssl
extension=pdo_mysql
然后修改当前的扩展引入目录,这里修改为./ext:
加载可扩展(模块)所在的目录。
; http://php.net/extension-dir
;extension_dir = "./"
; On windows:
extension_dir = "./ext"
这样处理之后,常用的组件就基本齐全的。
伪静态
在各种用于 PHP 开发的全包软件里,若想将其去除,可在 nginx 中进行伪静态配置,其配置内容如下:
location / {
if(!-e $request_filename){
将 /index.php(.*)$ 改写为 /index.php?s=/1 last;
- 把/index.php?s=/$进行改写操作。1 last;
break;
}
}
如果上面的内容设置报错,可以设置为下面的内容:
location / {
if (!-e $request_filename){
- 只需给出改写结果,无需复述原句,也无需换行,更无需任何解释。1 last; break;
}
}
VsCode 配置
VsCode 算是使用较多的开发 PHP 的工具之一。经过配置后,它比 Jerbrian 家的 IDE 要方便许多。
VsCode 的下载网址如下:
下载之后,我们直接下载相关的组件:
接下来是痛苦折磨的Xdebug配置。
Xdebug配置
在 VS Code 里需要配置所使用的 PHP 版本,并且对应的 php.ini 要开启 debug 配置才能正常使用。由于个人使用的是 PhpStudy,所以暂且先将其引入到 PhpStudy 里面。
{
"php.validate.executablePath": "D 盘下 phpstudy_pro 扩展中的 php 目录里的 php7.4.3nts 版本的 php.exe 文件",
"php.debug.executablePath": "D:/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe"
}
接着下载Xdebug,进入下面的官网:
Xdebug 是用于 PHP 的调试器和分析器工具。
Windows使用下面的方式,这里选择第二个链接。
需要用户复制 Phpinfo 的信息,接着 Xdebug 页面会依据 Phpinfo 来分析并给出合适的版本。其具体操作如下:新建一个 php 文件,并且添加以下代码。
phpinfo();
?>
比如个人访问页面出现下面的内容
把这个页面的内容ctrl + A 全选贴到页面即可:
之后点击分析按钮就可以了。如果提示找不到,就把合适的版本自行下载并放到 ext 目录。我们将插件下载到对应的 Php 安装目录的 ext 目录下,这里建议把它重命名为 php_xdebug.dll。至于为什么作为一个插件进行扩展,个人也说不清楚,不过网络上有部分网友尝试说放到 ext 扩展才能生效,所以就照做了。
这里有一个小插曲,个人在自己的电脑上进行尝试。结果发现,xdebug 给个人的选择是建议升级到 7.4.40 版本,并且还提示不兼容。这让个人有点摸不着头脑。最后,个人下载了 xdebug-3.04 的版本。
这是一个 dll 文件。使用部分浏览器下载该文件时,可能会被误认为是病毒。此时需要自行允许放行。
之后我们回到 VSCode 里。接着创建 debu 配置文件。创建的配置如图所示。
个人创建之后Json内容如下(通常不需要自行配置):
{
利用 IntelliSense 来了解可能的属性。
将鼠标悬停以查看现有属性的描述。
如果你想获取更多信息,可以访问:https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": [
9003,
9000
]
},
{
"name": 启动内置服务器并进行调试。,
"type": "php",
"request": "launch",
"runtimeArgs": [
"-S",
"localhost:8000",
"-t",
"."
],
"port": 9003,
"serverReadyAction": {
"action": "openExternally"
}
},
{
"name": 在控制台中调试当前脚本。,
"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 扩展位于 D 盘的 phpstudy_pro 扩展目录下的 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 扩展目录中的 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是我见过最恶心的配置之一。