萌新初入PHP,惨遭多版本暴打
最近,不知道公司抽了什么风,接了一个PHP项目,比较离谱的是,这个项目别人做了一半,接口文档没有,设计文档没有,更离谱的是让没有PHP基础的我半路接手,这种感觉真的是泰库拉!!!
在我看过一些基础的PHP知识,准备大展身手的时候,发现这个项目真的有毒啊。前端用的PHP8.0,后端用的PHP7.4,由于条件限制,只能在一台电脑上运行前端和后端,运行起来以后发现这两个版本互不兼容。
当我以为装两个版本的PHP,就能解决问题的时候,我发现我还是太年轻了,PHP的入口文件里有这么一段代码#!usr/bin/env php,这段代码的意思是需要从环境变量里找到相关的配置,才能正常的运行PHP项目。虽然我在环境变量里都配置了,但是其中有一个必定运行不起来。我也查了这段代码的相关解释,这段代码,中间可以添加路径,我尝试后,发现还是无法解决。不知道有没有大佬可以解决这个问题。
最后,经过不断的查找和尝试,使用了下面的方式,这样就可以保证多个版本的php都可以正常的运行。我们需要创建一个.bat的文件,里面输入以下内容
@echo off
set dir=D:\tool\PHP8
rem 去除变量中所有的引号
set PATH=%PATH:"=%
set PATH=%dir%;%PATH%
set PARAM=%~1
::echo %PARAM%
IF NOT DEFINED PARAM (
php -v
GOTO end
)
php %~1 %~2 %~3 %~4 %~5 %~6 %~7 %~8 %~9
:end
这样就达到了多版本执行PHP的目标
为了方便可以在环境变量里添加配置,就像下面一样

%php8% think run