วิธีการเปลี่ยนเวอร์ชันของ PHP Apache2 ใช้?


25

Ubuntu 10.04, MySQL 5.1, Apache 2.2 และ PHP 5.2 / 5.3:

ฉันเพิ่งค้นพบว่าฉันกำลังใช้ PHP เวอร์ชันที่ไม่ถูกต้องสำหรับแอปพลิเคชัน CRM เมื่อฉันรู้วิธีสร้างphpinfo()สคริปต์อย่างง่าย ๆเพื่อบอกฉันว่า Apache2 ใช้อะไรอยู่ฉันลองเปลี่ยนวิธีphp.iniดังกล่าวเพื่อให้เว็บเซิร์ฟเวอร์ของฉันใช้ PHP ที่ฉันต้องการ นี่คือปัญหาของฉัน ไม่แน่ใจว่าจะทำอย่างไร

ฉันรวบรวม PHP เวอร์ชันที่ฉันต้องการ/etcที่นี่:

/etc/php-5.2.8/

ภายในนี้มีphp.ini-recommendedไฟล์ที่ฉันได้ทำการเปลี่ยนแปลงและเปลี่ยนชื่อเป็นphp.iniดังนั้น PHP จะใช้มัน แต่เมื่อฉันเปิดเบราว์เซอร์และล้างประวัติและไปยังที่http://localhost<CRM dir>/install.phpอยู่ตัวช่วยสร้างยังคงบอกว่าฉันไม่ได้ใช้ PHP เวอร์ชันที่ถูกต้อง

จาก โพสต์นี้ฉันต้องทำอะไรเพื่อเปลี่ยนเวอร์ชั่นของ PHP ที่แสดงขึ้นมาหลังจากที่ฉันรันtest.phpสคริปต์? ในคำอื่น ๆphpinfo()บอกว่าผมใช้ PHP 5.3.2 แต่ฉันต้องการที่จะเปลี่ยนมันเพื่อรวบรวมเวอร์ชัน 5.2.8 /etcของฉันอยู่ใน

คำตอบ:


8

คุณควรดู Apache ไม่ใช่ PHP

(สำหรับ RHEL / CentOS) ดูที่ /etc/httpd/conf.d/php.ini

#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated web pages.
#
LoadModule php5_module modules/libphp5.so
#
# Causes the PHP interpreter to handle files with a .php extension.
#
AddHandler php5-script .php
AddType text/html .php

คุณจะเห็นว่าโมดูล PHP modules/libphp5.soของคุณ

AddHandler php5-script .phpบอก Apache เพื่อเรียกใช้ PHP ในไฟล์ใด ๆ .phpที่มีนามสกุล

หากคุณใช้ระบบปฏิบัติการที่ใช้ RPM อาจจะถอนการติดตั้งได้ง่ายกว่า (สมมติว่าคุณสามารถทำได้) เวอร์ชันปัจจุบันของ PHP และติดตั้งเวอร์ชันที่คุณต้องการอีกครั้ง

rpm -qa | grep php

จะแสดงเวอร์ชันของ PHP ที่ติดตั้งอยู่ในปัจจุบัน


3
เป็นมูลค่าการกล่าวขวัญคุณควรเด้ง Apache หลังจากเปลี่ยนการตั้งค่าเพื่อรับ
Ben Pilbrow

ฉันหวังว่ามันง่ายมาก php.iniไฟล์เดียวที่ฉันมีในไดเรกทอรีเซิร์ฟเวอร์คือ/etc/apache2/php.iniแต่ไม่ใช่ที่คุณแนะนำ ไฟล์นี้ไม่มีส่วนประกอบเหล่านี้ที่คุณพูดถึง: LoadModule, AddHandler, AddType ฯลฯ
nicorellius

น่าสนใจ คุณใช้ OS กลิ่นอะไร มีการกำหนดค่าผ่าน YUM, APT-Get หรือ YAST (หรือผู้จัดการแพ็คเกจอื่น ๆ ) หรือไม่
grufftech

Ubuntu 10.04 PHP เวอร์ชันใหม่ (5.3.2) สามารถติดตั้ง unsing ได้อย่างง่ายดายapt-getซึ่งฉันได้ทำไปแล้ว แต่จังหวัดอุบลราชธานี PHP 5.2.8 และ 5.2.13 I เรียบเรียงโดยใช้ไฟล์จากphp.net/releases จริง ๆ แล้วฉันก็เลิกพยายามเรียกใช้ PHP เวอร์ชันเก่า ฉันคิดว่าวิธีการอื่นเป็นไปเพื่อความกระชับ ขอบคุณสำหรับความช่วยเหลือของคุณกระนั้น ...
nicorellius

42

หากคุณติดตั้ง php เวอร์ชั่นอื่นแล้วคุณจะต้องเปลี่ยนโมดูล php * ที่ apache ใช้

ตัวอย่างเช่นฉันมี php5 และ php7.0 เมื่อฉันต้องการ apache ใช้ php7.0 ฉันต้องเปิดใช้งานโมดูลของเขาและเลิกใช้โมดูล php5

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