Một cải tiến so với câu trả lời khác của Webtatic:
1. Sử dụng hướng dẫn trên http://www.webtatic.com/packages/php54/ :
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
2. Trước tiên bạn cần xem các gói đã cài đặt hiện tại cần thay thế, bạn có thể thực hiện việc này bằng cách sử dụng yum shell để kết hợp loại bỏ php-common và cài đặt php54w-common trong một giao dịch (vì vậy các phụ thuộc được chia sẻ không bị xóa)
yum shell
> remove php-common
> install php54w-common
> run
…
Is this ok [y/N]: n
Đừng nói "y" với kết quả, nhưng hãy lưu ý tất cả các gói được đề cập trong "Xóa cho phụ thuộc", ví dụ:
Removing for dependencies:
php
php-cli
php-pear
php-pecl-memcache
php-mysql
Nếu có các gói khác ngoài php * trong danh sách này thì bạn không thể chuyển đổi liền mạch sang Webtatic PHP 5.4, nhưng sẽ phải điều tra các lựa chọn thay thế. Webtatic có các gói thay thế cho tất cả các gói php cơ sở (xem các gói được liệt kê trên trang được liên kết đến 1. để xác nhận), do đó sẽ không có vấn đề gì, trừ khi bạn sử dụng các kho lưu trữ của bên thứ 3 khác có cài đặt các gói phụ thuộc vào phiên bản php cụ thể Cài đặt.
Đối với phần còn lại của quá trình cài đặt (vẫn trong vỏ yum), bạn chỉ cần xóa các gói này và cài đặt các đối tác php54w- * của chúng:
> remove php-common php php-cli php-pear php-pecl-memcache php-mysql
> install php54w-common php54w php54w-cli php54w-pear php54w-pecl-memcache php54w-mysql
> run
…
Is this ok [y/N]: y
Sau đó, bạn chỉ nên xem các gói bạn đã đặt sẽ bị xóa và cài đặt trong danh sách và bạn có thể xác nhận cài đặt để chuyển qua. Bất kỳ dịch vụ nào hiện đang chạy với php được tải sẽ cần phải được khởi động lại, ví dụ httpd hoặc php-fpm.
Đối với điều này là 'liền mạch', bất kỳ thay đổi phần mềm nào xảy ra trong khi người dùng có thể truy cập trang web sẽ có những hậu quả được hiểu đầy đủ. Các thư viện dùng chung bị xóa và thêm vào khi một quá trình chưa được tải, chúng có khả năng tải trong khi thư viện dùng chung không có ở đó. Tốt hơn hết là thực hiện nâng cấp phần mềm như thế này ngoại tuyến và tốt nhất là thử nghiệm trên máy không sản xuất trước để xác minh quy trình hoạt động như mong đợi.
3. Để chuyển sang gói php54 cơ sở giả định (CentOS 5 đã sử dụng tiền tố php53), bạn chỉ cần chạy các bước trên thay thế loại bỏ php bằng loại bỏ php54w và cài đặt php54w với cài đặt php54, vd
yum shell
> remove php54w-common
> install php54-common
> run
…
Is this ok [y/N]: n
…
> remove php54w-common php54w php54w-cli php54w-pear php54w-pecl-memcache php54w-mysql
> install php54-common php54 php54-cli php54-pear php54-pecl-memcache php54-mysql
> run
Is this ok [y/N]: y
Tuy nhiên, đối với việc chuyển sang cơ sở giả định php54, có thể sẽ không có lựa chọn thay thế nào cho một số gói (ví dụ: không có phần mở rộng php53-pecl-memcache trong CentOS 5) và Webtatic có các gói không có sẵn trong cơ sở CentOS (ví dụ: php54w -pecl-zendopcache). Nếu chúng bị thiếu, thì bạn thường không có lựa chọn nào khác ngoài sử dụng pecl trực tiếp để cài đặt chúng.
4 . Bất kỳ nâng cấp PHP nào cũng có thể giới thiệu các lỗi và các trang web nên được kiểm tra lại. Điều này không cụ thể đối với Webtatic, nhưng ý tưởng chung là các tính năng mới giới thiệu các lỗi mới.
Không giống như kho lưu trữ của Remi trong câu trả lời được chấp nhận, kho lưu trữ EL6 của Webtatic không bao giờ sử dụng cùng tên gói với kho cơ sở của CentOS, do đó sẽ không ghi đè cài đặt / nâng cấp các gói bạn không có ý định chuyển sang và như vậy được bật theo mặc định.
Tuyên bố miễn trừ trách nhiệm: Tôi là chủ sở hữu / người duy trì Webtatic