2012-09-07 20 views
13

Tôi cần trợ giúp cài đặt php-devel (tôi cần nó, vì nó đã phpize, đó là cần thiết để cài đặt eAccelerator). Nhưng khi tôi cố gắng để cài đặt php-devel với yum install php-devel nó mang lại cho tôi những lỗi sau đây:không thể cài đặt php-devel trên centos

# yum install php-devel 
Loaded plugins: fastestmirror, priorities 
Loading mirror speeds from cached hostfile 
* base: centos.itt-consulting.com 
* epel: mirror.yandex.ru 
* extras: centos.itt-consulting.com 
* passenger: mirror.hmdc.harvard.edu 
* updates: centos.itt-consulting.com 
Setting up Install Process 
Resolving Dependencies 
--> Running transaction check 
---> Package php-devel.x86_64 0:5.3.3-14.el6_3 will be installed 
--> Processing Dependency: php = 5.3.3-14.el6_3 for package: php-devel-5.3.3-14.el6_3.x86_64 
--> Finished Dependency Resolution 
Error: Package: php-devel-5.3.3-14.el6_3.x86_64 (updates) 
      Requires: php = 5.3.3-14.el6_3 
      Installed: php-5.4.6-1.el6.remi.x86_64 (@remi-test) 
       php = 5.4.6-1.el6.remi 
      Available: php-5.3.3-3.el6_2.8.x86_64 (base) 
       php = 5.3.3-3.el6_2.8 
      Available: php-5.3.3-14.el6_3.x86_64 (updates) 
       php = 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 có ý tưởng gì để làm với các lỗi này. Và tôi đã cài đặt php 5.3.3 (phpinfo() nói rằng), do đó, không hiểu tại sao trong danh sách này tôi có thể thấy Installed: php-5.4...

Trả lời

34

Thay vì chạy yum install php-devel bạn cần thiết để chạy yum --enablerepo=remi,remi-php54 install php-devel.

Tóm lại, chỉ cần chỉ định phiên bản php-devel nào bạn muốn từ repo remi. Trong trường hợp của bạn, bạn đã cài đặt php54 từ remi, do đó bạn cần thêm vào "remi-php54". Điều đó đã có thể cài đặt thành công php-devel mà không có thời gian chết.

+1

Tôi mất vài tháng để tìm câu trả lời này. Tôi đã có rất nhiều vấn đề trên CentOS6.5 x64 bằng cách sử dụng PHP 5.4.26 trên Amazon AWS. Điều này giải quyết nó. – tatorface

+1

Trong trường hợp bạn đang sử dụng PHP 5.5.16 --- sử dụng yum --enablerepo = remi, remi-php55 cài đặt php-devel –

+2

Cảm ơn Taylor Taff, @ user1981251 và @Valentin Ursuleac. Tôi đã gặp sự cố khi cài đặt 'php-devel' trên ** CentOS 6.3 ** với ** PHP 5.5 **. Do đó đã nhận được cuộc xung đột. Sau khi đọc nó ở đây, tôi nhìn kỹ và nhận thấy rằng với 'yum install php-devel', php-devel 5.3 đã được cài đặt. Đầu tiên tôi tìm kiếm 'yum search php53' - Nothing Returned. Sau đó, tôi tìm kiếm 'yum search php55' - Có danh sách khổng lồ. Một trong số đó là ** php55w-devel-5.5.25-1.w6.x86_64 **. Do đó tôi đã phát lệnh như 'yum install php55w-devel.x86_64'. Cài đặt thành công. Cảm ơn mọi người –

1

php được cài đặt từ kho lưu trữ của Remi. Bạn sẽ cần phải hạ cấp xuống chứng khoán php hoặc nhận được php-devel từ cùng một vị trí.

+0

Làm thế nào để hạ cấp nó ? Nó có an toàn không? – kovpack

+0

Có một plugin cho nó, hoặc bạn có thể sử dụng 'yum shell' để thực hiện việc gỡ bỏ và cài đặt cùng một lúc. Tôi không thể đánh giá mức độ an toàn của hệ thống của bạn, vì tôi biết quá ít về nó. –

+0

Hãy nói rằng, tôi có thể giết chết một vài trang web trong một thời gian và không có gì khủng khiếp sẽ xảy ra trên thế giới, vì vậy làm thế nào tôi có thể hoàn nguyên php trở lại và cài đặt php-devel? Hoặc làm thế nào để có được php-devel từ repo của Remi? – kovpack

1

Cân nhắc rằng tôi có nhiều thứ khác nhau được cài đặt từ các bản repos khác nhau, cách duy nhất là xóa tất cả các gói được cài đặt từ repo của Remi và cài đặt các gói tiêu chuẩn với yum.

1) Liệt kê tất cả các gói được cài đặt từ một số repo lạ (trong trường hợp của tôi @remi), ví dụ: yum list installed | grep remi.

2) Hủy bỏ tất cả các gói hoàn toàn khỏi hệ thống với yum remove <package_name>

Chú ý: sau khi khởi động lại httpd - tất cả các trang web sẽ DIE!

3) Nhanh chóng cài đặt tất cả các thứ bạn cần, ví dụ: yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc v.v.

4) Khởi động lại httpd và khởi động máy chủ mysql.

5) Các trang web của bạn vẫn hoạt động trở lại. Điều duy nhất tại sao tôi làm tất cả những điều này là vì tôi muốn cài đặt eAccelerator cho php để tăng tốc nó một chút (và cài đặt là không thể vì các gói repo của remi), và tôi rất vui vì tôi đã làm điều đó ! Tất cả các tập lệnh đều hoạt động nhanh gấp 2-10 lần (tôi thậm chí không thể tưởng tượng rằng các trang web của tôi có thể phản hồi nhanh như vậy).

2
sudo yum --enablerepo=remi install php-devel 
+0

Điều này sẽ cài đặt cho php 5.3 – ursuleacv

29

Những gì tôi đã làm là:

yum search php53 

và nó cho thấy các tập tin php-devel để cài đặt. Một khi tôi đã thực hiện tìm kiếm và tìm thấy gói devel chính xác, tôi chỉ cần sao chép và dán toàn bộ tên sau khi cài đặt yum. Tôi thực hiện

yum install php53-devel.x86_64 

để có được nó

+0

tuyệt vời! cảm ơn –

+1

Cảm ơn. Trong trường hợp của tôi đó là 'yum search php55'. Sau đó, tôi đã phải ra lệnh 'yum install php55w-devel.x86_64' –

+0

Câu trả lời chung tuyệt vời trong đó' yum' có sẵn. – Hal50000

2

Nếu bạn có php 5.5.x, centos 6.5 64 thử này

yum install php55w-devel 

Bạn sẽ cần cũng gcc

yum install gcc.x86_64 
0
yum --enablerepo=remi,remi-php55 install php55-devel 

làm việc cho tôi

1

Giới thiệu về câu hỏi ban đầu (cài đặt eAccelerator).

Dự án này đã chết và chưa bao giờ hoạt động với PHP> = 5.4.

Vì vậy, nếu bạn cần bộ nhớ cache opcode, vui lòng chọn một bộ nhớ duy trì. Tôi muốn giới thiệu "opcache", bộ nhớ cache chính thức được duy trì bởi dự án PHP, bao gồm trong php-src từ 5.5, và có sẵn trong pecl cho 5.4.

Và nếu bạn sử dụng "remi" kho, trước khi cố gắng xây dựng một phần mở rộng, kiểm tra đầu tiên nếu nó có sẵn trong kho, như hầu hết các phần mở rộng PECL có sẵn như RPM, xem http://blog.remirepo.net/pages/PECL-extensions-RPM-status