Câu trả lời ngắn hơn.
Đừng hoảng sợ! Nếu bạn lo lắng về phiên bản PHP mà máy chủ Apache của bạn đang sử dụng, thì kết quả đầu ra phpinfo()
luôn là điều bạn nên chú ý. Mô-đun PHP Apache và nhị phân dòng lệnh PHP là hai thứ khác nhau không can thiệp lẫn nhau.
Trong thực tế, bạn có thể biên dịch và tải các phiên bản PHP khác nhau mà bạn muốn làm việc với Apache miễn là bạn điều chỉnh Apache để tải nó đúng cách. Giao diện dòng lệnh PHP sẽ không bao giờ hoạt động trong trường hợp phân tích cú pháp các trang PHP.
Phiên bản dòng lệnh của PHP chỉ đơn giản là có các nhiệm vụ cụ thể của dòng lệnh và mô-đun PHP cho Apache sẽ không bao giờ chạm, sử dụng hoặc cần điều đó.
Câu trả lời dài hơn.
Bạn nói điều này:
Tôi muốn biết php
tôi đang sử dụng phiên bản nào vì vậy tôi đã viết kịch bản tiêu chuẩn:
phpinfo();
Cung cấp cho tôi phiên bản PHP 5.6.10- phiên bản PHP chính xác cần thiết cho ứng dụng của tôi. Khi tôi đã thử trong thiết bị đầu cuối:
php -i or php -v
Nó cho tôi thấy phiên bản PHP 5.3.2 mà tôi không cần.
Phiên bản PHP có sẵn từ dòng lệnh không liên quan gì 100% với phiên bản PHP được tải dưới dạng mô-đun. Đây là những điều hoàn toàn riêng biệt.
Vì vậy, nếu bạn lo lắng về phiên bản PHP mà ứng dụng web của bạn đang sử dụng, nếu phpinfo()
hiển thị phiên bản 5.6.10 và đó là những gì bạn muốn / cần thì 100% là tốt.
Phiên bản dòng lệnh của PHP là một mục hệ thống hoàn toàn riêng biệt. Vì vậy, điều duy nhất quan trọng là đầu ra của phpinfo()
.
Nếu vì lý do nào đó bạn muốn sử dụng một phiên bản PHP khác với Apache, tất cả những gì bạn cần làm là cài đặt mô-đun PHP Apache đã biên dịch ở đâu đó và thêm vào hoặc điều chỉnh dòng này trong cấu hình Apache của hệ thống của bạn:
LoadModule php5_module /path/to/php/and/the/module/for/apache2/libphp5.so
Và chỉ cần điều chỉnh đường dẫn đến phần mềm libphp5.so
là những gì Apache sử dụng để phân tích PHP PHP sau đó khởi động lại Apache và bạn đang kinh doanh.
Ví dụ, tại một thời điểm tôi đã phải biên dịch phiên bản PHP 5.1.6 từ nguồn (có hỗ trợ thư viện GD) để sử dụng trên máy Ubuntu 12.04 chạy PHP 5.3.5. Trong tệp tải mô-đun PHP của máy chủ tại đây:
/etc/apache2/mods-available/php5.load
Tôi đã có những dòng như thế này:
# LoadModule php5_module /usr/lib/apache2/modules/libphp535.so
LoadModule php5_module /usr/lib/apache2/modules/libphp516-gd.so
Lưu ý làm thế nào một dòng được nhận xét cho libphp535.so
và một dòng khác libphp516-gd.so
là không bị thiếu? Những gì tôi đã làm là tôi đổi tên libphp5.so
mô-đun PHP 5.3.5 mặc định libphp535.so
thành số phiên bản trong tên để tôi có thể có nó để tham khảo và sau đó đặt tên là mô-đun PHP 5.1.6 (có hỗ trợ thư viện GD) libphp516-gd.so
để tôi biết đó là gì là tốt Bằng cách này, tôi có cả hai có sẵn cho tôi cạnh nhau trên hệ thống.
Và như tôi đã nói ngay từ đầu, phiên bản PHP được sử dụng trong dòng lệnh hoàn toàn không liên quan gì đến mô-đun PHP của Apache. Vì vậy, bạn có thể có bất kỳ số phiên bản khác nhau của các mô-đun PHP Apache đang ngồi trên hệ thống sẵn sàng hoạt động; chỉ cần điều chỉnh một cấu hình và khởi động lại Apache và bạn nên sử dụng mọi phiên bản PHP mà bạn đã chỉ định mà Apache nên sử dụng.