เปลี่ยนจาก PHP 7.2 เป็น 7.1 บน Ubuntu 16.04, Apache


21

ฉันจำเป็นต้องปรับลดรุ่น PHP บน VMs ของฉันจาก 7.2 เป็น 7.1 บน Ubuntu 16.0.4 ครั้งสุดท้ายที่ฉันพยายามลบเพียงแค่ PHP และแทนที่ด้วยรุ่นที่แตกต่างกันฉันมีปัญหาทุกชนิดกับ Apache และ MySQL มีวิธีที่รวดเร็วในการดาวน์เกรด PHP จาก 7.2 ถึง 7.1 โดยไม่ต้องติดตั้งใหม่อย่างสมบูรณ์และกำหนดค่า Apache (เวอร์ชั่นล่าสุด ณ การเขียนนี้) และทุกอย่างบนเซิร์ฟเวอร์หรือไม่?

ฉันต้องปรับลดรุ่นเนื่องจากข้อมูลไม่ถูกต้องที่ฉันได้รับจากผู้จำหน่ายซอฟต์แวร์ที่อ้างว่าแอปพลิเคชันของพวกเขาทำงานบน PHP 7.2 ปรากฎว่ามันต้องมี 7.1

ฉันพยายามหาข้อมูลเกี่ยวกับวิธีการปรับลดรุ่นจาก 7.2 เป็น 7.1 แต่รับผลลัพธ์ 'อัปเกรด' เท่านั้น

ขอขอบคุณสำหรับความช่วยเหลือของคุณ.


1
คุณได้รับ PHP 7.2 มาเริ่มต้นอย่างไร
Michael Hampton

อัปเดต: ฉันเคยsudo add-apt-repository ppa:ondrej/phpติดตั้ง PHP 7.2.x
Pegues

คำตอบ:


35

ด้านล่างนี้เป็นคำอธิบายของสิ่งที่ฉันทำ ฉันหวังว่าข้อมูลนี้สามารถช่วยคนอื่นได้:

ฉันติดตั้ง PHP 7.1 ตามข้าง PHP 7.2 ฉันยังติดตั้งส่วนขยายที่จำเป็นสำหรับ PHP 7.1 เป็นส่วนใหญ่ ฉันทำไปแล้วa2dismod php7.2และa2enmod php7.1ฉันสามารถสลับไปใช้ PHP 7.1 ได้ในขณะที่ยังคงติดตั้ง 7.2 บนเซิร์ฟเวอร์ ไซต์ของฉันส่วนใหญ่ทำงานหลังจากเปลี่ยนแล้ว เว็บไซต์เดียวที่ดูเหมือนจะใช้งานไม่ได้คือเว็บไซต์ Joomla รายการคำสั่งทั้งหมดที่ฉันใช้อยู่ด้านล่าง:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.1

sudo apt-get install php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-mysql php7.1-mbstring php7.1-mcrypt php7.1-zip php7.1-fpm

sudo a2dismod php7.2

sudo a2enmod php7.1

sudo service apache2 restart

1
ฉันยังอยู่ในสถานการณ์เดียวกัน แต่แม้หลังจากปิดใช้งานโมดูล 7.2 หากฉันพิมพ์php -vก็ยังคงแสดง php7.2 ความคิดใด ๆ
khichar.anil

1
ฉันก็มีสิ่งเดียวกัน ถึงแม้ว่า PHP 7.1 จะเปิดใช้งานบนเซิร์ฟเวอร์ของฉัน แต่การพิมพ์php -vแสดง PHP 7.2.2 แต่ถ้าผมโหลดในเบราว์เซอร์ของฉันมันจะแสดงรุ่นที่ถูกต้องphpinfo() 7.1.13คุณลองตรวจสอบไฟล์ด้วยphpinfo()หรือไม่?
Pegues

ดูความคิดเห็นของฉันด้านล่าง มันจะเปลี่ยนเส้นทาง php เริ่มต้น
khichar.anil

1
บทความที่เป็นประโยชน์tecadmin.net/switch-between-multiple-php-version-on-ubuntu
CrandellWS

@CrandellWS ขอบคุณสำหรับการแบ่งปัน ข้อมูลที่เป็นประโยชน์อย่างแน่นอน
Pegues

19

สำหรับการแสดงผลที่เปิดใช้งาน php รุ่นใน terminal php -vโดย เราจำเป็นต้องตั้งค่าการอัพเดทเวอร์ชั่นของ php ใช้คำสั่งด้านล่างเพื่ออัปเดตเวอร์ชัน php cli

// change terminal (cli) version (7.2 to 7.1)
sudo update-alternatives --set php /usr/bin/php7.1

นี่เป็นกลอุบาย!
mistery_girl

12

@pegues: วิธีการดังกล่าวข้างต้นของคุณทำงานได้ดีสำหรับ apache เพื่อเปลี่ยนรุ่นที่แตกต่างกัน โดยการรันคำสั่งต่อไปนี้จะเปลี่ยน php จากเทอร์มินัลเช่นกัน จริงๆแล้วคุณเพียงแค่ต้องเปลี่ยน symlink เป็นเวอร์ชั่น PHP ที่ต้องการ

sudo rm /usr/bin/php

sudo ln -s /usr/bin/php7.1 /usr/bin/php

1

นี่คือสิ่งที่ฉันทำ:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.1

sudo apt-get install php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-mysql php7.1-mbstring php7.1-mcrypt php7.1-zip php7.1-fpm

sudo rm /usr/bin/php

sudo ln -s /usr/bin/php7.1 /usr/bin/php

และเพื่อยืนยันว่าคุณมี php 7.1 ให้พิมพ์คำสั่งต่อไปนี้

php --ini |grep Loaded

มันควรกลับคำตอบต่อไปนี้

Loaded Configuration File:         /etc/php/7.1/cli/php.ini

หากคุณกำลังใช้ laravel ด้วยเหตุผลบางอย่างจากนั้นแก้ไข fpm ของคุณให้ชี้ไปที่รุ่น 7.1 แล้วเริ่มต้นใหม่เช่นกัน

sudo systemctl restart php7.1-fpm.service

sudo service nginx restart
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.