今天公司的香港網站服務器遇到個問題,兩個網站用的程序使用同一個php版本,導致其中一個網站報錯。
只好去新加一個php版本,讓兩個網站用不同版本的PHP,因為服務器裝的是DirectAdmin面板,所以需要編譯安裝PHP。
下面講講具體如何操作。
DirectAdmin目前支持最多4版本的PHP同時安裝及使用,安裝命令如下:
1、進入安裝目錄
#directadmin安裝多個版本PHP
cd /usr/local/directadmin/custombuild
./build update
2-1、執行操作命令
./build set php1_release=5.6
./build set php1_mode=php-fpm
./build set php2_release=7.4
./build set php2_mode=php-fpm
./build set php3_release=7.3
./build set php3_mode=php-fpm
./build set php4_release=8.0
./build set php4_mode=php-fpm
執行以上命令將會把這些命令寫入? options.conf 文件中,并且是寫在配置文件最后面的。
執行了以上步驟可以跳過2-2。
2-2、可以直接選擇寫入命令
#或者直接編輯
vi options.conf
php1_release=5.6
php1_mode=php-fpm
php2_release=7.4
php2_mode=php-fpm
php3_release=7.3
php3_mode=php-fpm
php4_release=8.0
php4_mode=php-fpm
3、開始編譯安裝php
./build php n
./build rewrite_confs
開始編譯php時,會通過 php.net將需要的php版本下載到目錄 /usr/local/directadmin/custombuild/cache 中,下載過程中可能出現網絡波動導致下載失敗,可以重復嘗試。
4-1、常見錯誤 一
mod_ruid2 is not supported anymore, please set mod_ruid2=no in CustomBuild 'options.conf'.
這個錯誤需要進入 options.conf配置文件中修改 mod_ruid2 = no
4-2、常見錯誤 二
php3_release has been set twice in the options.conf. This will cause problems. Edit it to remove one of them.
這個錯誤是上面2-1和2-2重復執行了,需要打開options.conf配置文件將重復項刪除。
4-3、常見錯誤 三
%curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104
這個錯誤是在編譯時,連接php.net下載php版本文件時網絡波動造成的連接重置,可以嘗試重復執行編譯命令。