我设置了 PHP-FPM,以便为不同的文件夹提供不同版本的 PHP。这是由于遗留代码而必须的,并且是使用 apache 的 实现的.htaccess
。
我的问题是:有人有一种简单优雅的方法在 CLI 中执行此操作吗?我在想也许文件夹中有一个文件指示要运行的 PHP 版本,但不确定如何进行。
我的预期结果是,当我php ...
在文件夹 A 中运行时,它使用 PHP 7.4 运行,而当我在文件夹 B 中执行相同操作时php ...
,它使用 PHP 8.1 运行
谢谢。
答案1
假设你的 PHP 版本安装在不同的路径中,例如:
- php 7.4 现已推出
/usr/local/php74/bin
- php 8.1 已发布
/usr/local/php81/bin
- ETC
创建一个脚本php
,在每个目录中查找一个.phppath
描述要使用哪个 php 二进制文件的文件。例如:
#!/bin/sh
# This sets the default if not otherwise specified
phppath=/usr/local/php81/bin/php
if [ -f .phppath ]; then
phppath=$(cat .phppath)
fi
exec $phppath "$@"
将其放在$PATH
某个地方,一切就绪。在您想要的目录中,例如 PHP 7.4,创建一个适当的.phppath
文件:
echo /usr/local/php74/bin/php > .phppath
请注意,正如所写,这只会发现.phppath
在当前目录中。如果您在子目录中工作,它将找不到它。这是一个可以解决的问题,但它留给读者作为练习。