請問兩個php版本如何實現(xiàn)在同一個系統(tǒng)內(nèi)共存?,比如php5.6與php7,nginx怎么配置
php后端:如果你想要快速在生產(chǎn)環(huán)境下實現(xiàn)多個網(wǎng)站應(yīng)用使用多版本的php,其實市面上的現(xiàn)成的套件已經(jīng)太多太多了,隨便哪個都可以快速實現(xiàn)。
(但從個人角度,我不推薦也不會真的建議在任何生產(chǎn)環(huán)境下使用這類套件,年年被爆破的案例太多了)
Nginx + PHP 的組合里比較多見的是 Nginx + php-fpm 的組合,也有 Nginx + Apache????mod???? 的,但那個就不展開了。在這種模式下, Nginx 其實就是個 http 的handler,接住請求和處理靜態(tài)文件就可以,動態(tài)的文件其實全部發(fā)送給了 php-fpm 去處理,其實你想要實現(xiàn)多個共存,本質(zhì)上是讓 php-fpm 分別跑在不同的端??d????就可以了。
隨便你多少個版本的 php 都和 nginx 其實沒太大關(guān)系,只要端口錯開, nginx 都能處理。
一個demo配置
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}新的站點使用 9001 或者其他端口,只要不和已有端??e????突就可以了。
如果是編譯的話,可以指定不同的輸出文件夾。然后 fpm 通過指定不同的端??f????實現(xiàn)。如果是包。一般會有別名。比如 php -> php7.2 之類的。找找
php7.2 之類的。找找