2013-02-04 37 views
17

Tôi biết hầu như không có gì về việc cài đặt gói. Tôi quản lý để cài đặt Zend Framework 1 với yum một thời gian trở lại bằng cách làm theo một hướng dẫn rất cụ thể.Làm cách nào để cài đặt phần mở rộng intl của PHP trên CentOS?

Bây giờ tôi cần phần mở rộng intl PHP và tôi không thể tìm ra cách cài đặt nó.

tôi đã làm

yum list php*intl 

và thấy rằng có một sẵn. Vì vậy, tôi đã làm

yum install php-intl 

và nhận được thông báo lỗi sau:

Error: Package: php-intl-5.3.3-14.el6_3.x86_64 (updates) 
     Requires: php-common = 5.3.3-14.el6_3 
     Installed: php-common-5.3.17-2.el6.remi.x86_64 (@remi) 
      php-common = 5.3.17-2.el6.remi 
     Available: php-common-5.3.3-3.el6_2.8.x86_64 (base) 
      php-common = 5.3.3-3.el6_2.8 
     Available: php-common-5.3.3-14.el6_3.x86_64 (updates) 
      php-common = 5.3.3-14.el6_3 
You could try using --skip-broken to work around the problem 
You could try running: rpm -Va --nofiles --nodigest 

Tôi không thử những gợi ý đề cập trong thông điệp vì tôi không biết họ sẽ làm gì và tôi sợ phá vỡ một cái gì đó. Đây là một máy sản xuất và tôi không có máy khác để kiểm tra. Tôi đã cố gắng để tìm một rpm để tải về đó là phiên bản tương tự như PHP của tôi, nhưng không có may mắn.

Hai đề xuất này làm gì và chúng có phải là an toàn để thử không? Tôi có thể thử cài đặt phần mở rộng intl nào khác?

Trả lời

20

Như bạn có php-commom từ kho remi, bạn cần phải nhận được php-Sân bay quốc tế từ remi cũng có.

Thêm --enable-repo tùy chọn như sau:

yum --enablerepo=remi install php-intl 
+0

Tôi không thể kiểm tra điều này vì remi hiện là PHP 5.4 và tôi chưa sẵn sàng nâng cấp. Nhưng câu trả lời có ý nghĩa tổng thể và tôi cho rằng nó sẽ cho kết quả mong muốn khi remi vẫn là PHP 5.3.x. – toxalot

+0

Bạn nói đúng, tôi nhận được thông báo lỗi tương tự nhưng tôi đã viết PHP 5.4 –

1

Yum đang ném lỗi vì chúng tôi đang cố gắng cập nhật nhiều gói lên phiên bản xung đột. Sản lượng yum của bạn nói rằng php-intl yêu cầu một phiên bản cụ thể của php-phổ biến. Xóa tất cả các thư rác:

Requires 5.3.3-14 
Installed 5.3.17-2 
Available 1st Option: 5.3.3-3 
Available 2nd Option: 5.3.3-14 

Điều này cho chúng tôi biết bạn đã cài đặt phiên bản mới hơn của php phổ biến (5.3.17-2) được php-intl cho phép.

Tôi nghĩ bạn có hai tùy chọn. (Là một newbie bản thân mình, tôi sẽ không cố gắng này mà không cần luyện tập trong một môi trường dev.)

1) Hủy bỏ gói remi

Trích dẫn từ một câu hỏi tương tự như trên Super User. "Hãy thử gỡ bỏ tất cả các gói remi php, vô hiệu hóa kho lưu trữ và cài đặt các gói phần mềm mặc định 6 php 5.3.3."

https://superuser.com/questions/505340/centos-6-how-to-install-php-mysql-when-php-common-remi-is-present

2) Downgrade php-chung cho bản 5.3.3-14

yum downgrade php-common 

Tôi không có ý tưởng nếu bạn sẽ chạy vào các vấn đề phụ thuộc ngày càng phải hạ cấp gói khác. Tôi tìm thấy thêm chi tiết ở đây.

https://www.centos.org/modules/newbb/viewtopic.php?topic_id=40567&forum=56

trang web Ngăn xếp giao dịch khác cho thấy câu hỏi tương tự.

https://serverfault.com/search?q=centos+error+package (370 kết quả)

https://unix.stackexchange.com/search?q=centos+error+package (57 kết quả)

6

Nếu bạn có phiên bản PHP cao hơn như 5.6, bạn phải kích hoạt cả remiremi-php56 Repos để cài đặt tất cả các phụ thuộc thêm:

yum --enablerepo=remi,remi-php56 install php-intl 
2

tôi cài đặt thành công INTL qua pecl bằng các bước sau.

1) cài đặt ICU & libs:

yum -y install icu libicu libicu-devel

2) php-devel gói và phpize:

yum -y install php-devel phpize

3) và tất nhiên gcc:

yum -y install gcc gcc-cpp gcc-c++

Tính năng này hoạt động đối với tôi.Phiên bản php của tôi là 5.6.12

Các vấn đề liên quan