Php
根據工作路徑執行不同的 PHP CLI 版本
我設置 PHP-FPM 為不同的文件夾提供不同版本的 PHP。由於遺留程式碼,這是必要的,並且是使用 apache 的
.htaccess
.我的問題是:有沒有人有一個簡單優雅的方式在 CLI 中做到這一點?我在想文件夾中可能有一個文件指示要執行的所需 PHP 版本,但不確定如何去做。
我的預期結果是,當我
php ...
在文件夾 A 中執行時,它使用 PHP 7.4 執行,當我php ...
在文件夾 B 中執行相同操作時,它使用 PHP 8.1 執行謝謝你。
假設您的 PHP 版本安裝在不同的路徑中,例如:
- php 7.4 在
/usr/local/php74/bin
- php 8.1 在
/usr/local/php81/bin
- ETC
創建一個腳本,在每個目錄中
php
查找描述要使用的 php 二進製文件的文件。.phppath
就像是:#!/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
在目前目錄中找到。如果您在子目錄中工作,它將找不到它。這是一個可以解決的問題,但留給讀者作為練習。