濮阳杆衣贸易有限公司

主頁 > 知識庫 > 使用docker在服務(wù)器運(yùn)行多個(gè)php版本

使用docker在服務(wù)器運(yùn)行多個(gè)php版本

熱門標(biāo)簽:賀州市地圖標(biāo)注app 江蘇電銷外呼防封系統(tǒng)是什么 長沙開福怎么申請400電話 東莞人工智能電銷機(jī)器人供應(yīng)商 廣州電銷機(jī)器人系統(tǒng)圖 高德地圖標(biāo)注無營業(yè)執(zhí)照 金融行業(yè)外呼線路 智能電話機(jī)器人線路 百度地圖標(biāo)注要不要錢

php7已經(jīng)出來好一段時(shí)間了,眾所周知它對性能的提升很大?,F(xiàn)在假設(shè)我們有臺比較老的服務(wù)器,系統(tǒng)是centos6,上面運(yùn)行著一些老舊項(xiàng)目,其默認(rèn)自帶的php版本是5.3 。

雖然說,我們可以升級到php7版本,但是,老舊不兼容php7,我們不能一刀切。最好的方式是php5.3和php7共存。所以,我們可以考慮利用docker來安裝其他版本的php,既能保證環(huán)境獨(dú)立,又極少造成性能損耗。

下面以安裝php7版本為例,介紹下具體做法。

centos6安裝docker :

yum install -y https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm
 service docker start
 chkconfig docker on

拉取php7.2鏡像

docker pull php:7.2-fpm

新建目錄以及文件/usr/local/docker-php7/zz-docker.conf ,保存以下內(nèi)容:

[global]
daemonize = no
[www]
listen = 9001

;修改php.ini里面的變量就修改php_value數(shù)組相應(yīng)的屬性就好

php_value[session.save_handler] = redis
php_value[session.save_path] = tcp://127.0.0.1:6379
php_value[post_max_size] = 20M
php_value[upload_max_filesize] = 20M
php_value[date.timezone] = Asia/Shanghai
php_value[opcache.enable] = 1
php_value[opcache.enable_cli] = 1

運(yùn)行容器,使用host模式跟宿主機(jī)通訊

docker run -d -v /var/www/html:/var/www/html -v /usr/local/docker-php7/zz-docker.conf:/usr/local/etc/php-fpm.d/zz-docker.conf --net=host --name php7.2 php:7.2-fpm

安裝各種常用php擴(kuò)展

docker exec php7.2 apt-get update -y
docker exec php7.2 apt-get install -y libfreetype6-dev
docker exec php7.2 apt-get install -y libjpeg62-turbo-dev
docker exec php7.2 apt-get install -y libpng-dev
docker exec php7.2 docker-php-ext-install pdo_mysql
docker exec php7.2 docker-php-ext-install mysqli
docker exec php7.2 docker-php-ext-install iconv 
docker exec php7.2 docker-php-ext-install gd
docker exec php7.2 docker-php-ext-install mbstring
docker exec php7.2 docker-php-ext-install opcache
#順便改下配置
docker exec php7.2 mv /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini

由于無法通過 docker-php-ext-install 安裝redis擴(kuò)展,所以需要手動安裝下

#進(jìn)入容器里的命令行
docker exec -it php7.2 sh 
docker-php-source extract
curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/4.2.0.tar.gz
tar -zxvf /tmp/redis.tar.gz -C /usr/src/php/ext
mv /usr/src/php/ext/phpredis-* /usr/src/php/ext/phpredis
docker-php-ext-install phpredis
#到這里按ctr+p 和 ctrl+q 以退出容器
docker restart php7.2

以上命令已經(jīng)成功在9001端口運(yùn)行了php7.2。接下來只要在nginx的配置里php腳本指向到9001端口即可(原來是指向9000端口)

總結(jié)

以上所述是小編給大家介紹的使用docker在服務(wù)器運(yùn)行多個(gè)php版本,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

標(biāo)簽:玉樹 洛陽 張家界 永州 滄州 北京 廊坊 松原

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用docker在服務(wù)器運(yùn)行多個(gè)php版本》,本文關(guān)鍵詞  使用,docker,在,服務(wù)器,運(yùn)行,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用docker在服務(wù)器運(yùn)行多個(gè)php版本》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用docker在服務(wù)器運(yùn)行多個(gè)php版本的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    信宜市| 黔西| 乐清市| 中宁县| 柘城县| 亳州市| 家居| 萨嘎县| 竹山县| 怀仁县| 阳高县| 辉县市| 柳河县| 九寨沟县| 麦盖提县| 威信县| 太湖县| 乌恰县| 洞口县| 浦城县| 靖江市| 九江市| 乌拉特前旗| 尖扎县| 德令哈市| 宽甸| 伊宁县| 东辽县| 太仓市| 吉林省| 平阳县| 三门峡市| 泽普县| 庆城县| 奉化市| 柞水县| 瑞金市| 钟祥市| 临夏市| 武川县| 来安县|