Làm thế nào để thay đổi phiên bản PHP Apache2 sử dụng?


25

Ubuntu 10.04, MySQL 5.1, Apache 2.2 và PHP 5.2 / 5.3:

Tôi mới phát hiện ra rằng tôi đang sử dụng phiên bản PHP sai cho ứng dụng CRM. Khi tôi tìm ra cách tạo một phpinfo()tập lệnh đơn giản để cho tôi biết Apache2 đang sử dụng cái gì, tôi đã thử thay đổi cái php.inimáy chủ web của tôi sẽ sử dụng PHP mà tôi muốn. Vâng, đây là vấn đề của tôi. Không chắc chắn làm thế nào để làm điều đó.

Tôi đã biên dịch phiên bản PHP mà tôi muốn /etcở đây:

/etc/php-5.2.8/

Trong đó, có một php.ini-recommendedtệp mà tôi đã thực hiện một số thay đổi và đổi tên thành php.iniPHP để sử dụng nó. Nhưng khi tôi mở trình duyệt và xóa lịch sử của mình và đi đến http://localhost<CRM dir>/install.phpđịa chỉ, trình hướng dẫn vẫn nói rằng tôi không sử dụng phiên bản chính xác của PHP.

Dựa trên bài đăng này, tôi phải làm gì để thay đổi phiên bản PHP xuất hiện sau khi tôi chạy test.phptập lệnh của mình ? Nói cách khác, phpinfo()tôi đang chạy PHP 5.3.2, nhưng tôi muốn thay đổi nó thành phiên bản 5.2.8 được biên dịch của mình /etc.

Câu trả lời:


8

Tùy thuộc vào máy chủ của bạn, bạn nên xem xét Apache chứ không phải PHP.

(Đối với RHEL / CentOS) hãy xem /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

Bạn sẽ thấy rằng mô-đun PHP của bạn là modules/libphp5.so.

AddHandler php5-script .phpbảo Apache chạy PHP trên bất kỳ tệp nào có phần mở rộng .php.

Nếu bạn đang sử dụng HĐH dựa trên RPM, có thể dễ dàng gỡ cài đặt hơn (giả sử bạn có thể làm điều đó) phiên bản PHP hiện tại và cài đặt lại phiên bản bạn đang tìm kiếm.

rpm -qa | grep php

sẽ cho bạn thấy phiên bản PHP nào hiện đang được cài đặt.


3
Điều đáng nói là bạn nên trả lại Apache sau khi thay đổi cấu hình để nó được chọn.
Ben Pilbrow

Tôi thực sự muốn nó là dễ dàng. Tệp duy nhất php.initôi có trong thư mục máy chủ là /etc/apache2/php.ininhưng không phải nơi bạn đề xuất. Tệp này không có các thành phần mà bạn nói đến: LoadModule, AddHandler, AddType, v.v.
nicorellius

hấp dẫn. Bạn đang chạy hệ điều hành nào? Có phải nó được định cấu hình qua YUM, APT-Get hoặc YAST, (hoặc một số trình quản lý gói khác) không?
grufftech

Ubuntu 10.04. Phiên bản mới của PHP (5.3.2) có thể dễ dàng cài đặt uning apt-get, điều mà tôi đã làm. Nhưng hte PHP 5.2.8 và 5.2.13 tôi đã biên dịch, sử dụng các tệp từ php.net/release . Tôi thực sự đã từ bỏ việc cố gắng chạy phiên bản PHP cũ hơn. Tôi nghĩ rằng các phương pháp thay thế là vì lợi ích của sự ngắn gọn. Tuy nhiên, cảm ơn sự giúp đỡ của bạn ...
nicorellius

42

Nếu bạn đã cài đặt phiên bản php khác, bạn chỉ cần thay đổi mô-đun php * được sử dụng bởi apache.

ví dụ: tôi có php5 và php7.0. Khi tôi muốn apache sử dụng php7.0, tôi chỉ cần kích hoạt mô-đun của mình và loại bỏ mô-đun php5.

sudo a2dismod php5
sudo a2enmod php7.0
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.