не могу установить php-devel на centos

Мне нужна помощь с установкой php-devel (она мне нужна, потому что в ней есть phpize, необходимый для установки eAccelerator). Но когда я пытаюсь установить php-devel с помощью yum install php-devel, я получаю следующие ошибки:

# 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

Я понятия не имею, что делать с этими ошибками. И у меня установлен php 5.3.3 (об этом говорит phpinfo()), поэтому не понимаю, почему в этом списке я вижу Installed: php-5.4...


person kovpack    schedule 07.09.2012    source источник


Ответы (9)


Вместо запуска yum install php-devel вам нужно было запустить yum --enablerepo=remi,remi-php54 install php-devel .

Короче говоря, просто укажите, какую версию php-devel вы хотите из репозитория. В вашем случае у вас был установлен php54 из remi, поэтому вам нужно было добавить «remi-php54». Это позволило бы успешно установить php-devel без простоев.

person Taylor Taff    schedule 21.02.2014
comment
Мне потребовались месяцы, чтобы найти этот ответ. У меня было так много проблем с CentOS6.5 x64 с использованием PHP 5.4.26 на Amazon AWS. Это решило это. - person tatorface; 30.07.2014
comment
Если вы используете PHP 5.5.16 --- используйте yum --enablerepo=remi,remi-php55 install php-devel - person Nadeem Khan; 25.08.2014
comment
Спасибо Тейлор Тафф, @user1981251 и @Valentin Ursuleac. У меня возникла проблема с установкой php-devel на CentOS 6.3 с PHP 5.5. Отсюда и возник конфликт. Прочитав это здесь, я внимательно посмотрел и заметил, что с yum install php-devel устанавливается php-devel 5.3. Сначала я искал yum search php53 - ничего не вернулось. Затем я искал yum search php55 — получил огромный список. Одним из них был php55w-devel-5.5.25-1.w6.x86_64. Поэтому я выдал команду как yum install php55w-devel.x86_64. Успешно установлен. Всем спасибо - person Vinod Tigadi; 29.05.2015

Я сделал следующее:

yum search php53

и он показал файл php-devel для установки. Как только я выполнил поиск и нашел правильный пакет devel, я просто скопировал и вставил полное имя после установки yum. я казнил

yum install php53-devel.x86_64

чтобы получить это

person user1981251    schedule 29.08.2013
comment
Спасибо. В моем случае это было yum search php55. Затем мне пришлось дать команду yum install php55w-devel.x86_64 - person Vinod Tigadi; 29.05.2015
comment
Отличный общий ответ, где yum доступно. - person Hal50000; 20.02.2016
comment
Это сработало для меня, спасибо. Но на моем производственном сервере Laravel с Imagick все еще появляется ошибка Class not found, но спасибо :) - person marknt15; 16.12.2016

Если у вас есть php 5.5.x, centos 6.5 64, попробуйте это

yum install php55w-devel

Вам также понадобится gcc

yum install gcc.x86_64
person ursuleacv    schedule 18.03.2015

php был установлен из репозитория Remi. Вам нужно будет либо перейти на стоковую версию php, либо получить php-devel там же.

person Ignacio Vazquez-Abrams    schedule 07.09.2012
comment
Как его понизить? Это безопасно? - person kovpack; 08.09.2012
comment
Для этого есть плагин, или вы можете использовать yum shell для одновременного удаления и установки. Я не могу оценить, насколько безопасно это будет в вашей системе, так как я слишком мало о ней знаю. - person Ignacio Vazquez-Abrams; 08.09.2012
comment
Допустим, я могу убить несколько сайтов на время и ничего страшного в мире не произойдет, так как же мне вернуть php обратно и установить php-devel? Или как получить php-devel из репозитория Реми? - person kovpack; 08.09.2012
comment
Я удалил репо Реми, удалил все установленные из него пакеты и установил сразу все стандартные пакеты с yum с самого начала. Это сработало. Однако мои сайты не работали 15 минут или даже больше. - person kovpack; 08.09.2012

Принимая во внимание, что у меня разные вещи установлены из разных репозиториев, единственным способом было удалить все пакеты, установленные из репозитория Remi, и установить стандартные пакеты с помощью yum.

1) Перечислите все пакеты, установленные из какого-то странного репо (в моем случае @remi), например. yum list installed | grep remi.

2) Полностью удалить все пакеты из системы с помощью yum remove <package_name>

ВНИМАНИЕ: после перезапуска httpd все сайты УМИРАЮТ!

3) Быстро установить все, что вам нужно, например. yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc и т. д.

4) Перезапустите httpd и запустите сервер mysql.

5) Ваши сайты снова оживают.

Единственная причина, по которой я все это сделал, это то, что я хотел установить eAccelerator for php, чтобы немного ускорить его (а его установка была невозможна из-за пакетов remi repo), и я счастлив, что сделал это! Все скрипты работают в 2-10 раз быстрее (даже не мог представить, что мои сайты могут так быстро отвечать).

person kovpack    schedule 07.09.2012

По поводу первоначального вопроса (установить eAccelerator).

Этот проект мертв и никогда не работал с PHP >= 5.4.

Поэтому, если вам нужен кеш кода операции, выберите поддерживаемый. Я бы порекомендовал «opcache», официальный кеш, поддерживаемый проектом PHP, включенный в php-src с версии 5.5 и доступный в pecl для версии 5.4.

И если вы используете репозиторий «remi», прежде чем пытаться создать расширение, сначала проверьте, доступно ли оно в репозитории, поскольку большинство расширений PECL доступны в виде RPM, см. http://blog.remirepo..net/pages/PECL-extensions-RPM-status

person Remi Collet    schedule 28.07.2015

yum --enablerepo=remi,remi-php55 install php55-devel 

работал на меня

person Starrover    schedule 28.07.2015
comment
Говорит No package php55-devel available. Error: Nothing to do не знаю почему - person SudoPlz; 17.10.2018

Для PHP 7.2 и подобных у меня работает следующее (обратите внимание на remi-php72)

sudo yum --enablerepo=remi,remi-php72 install php-devel  

если речь идет об установке требований xdebug для centos, то:

sudo yum --enablerepo=remi,remi-php72 install php-devel autoconf automake
person salah-1    schedule 20.03.2020

person    schedule
comment
Это установит для php 5.3 - person ursuleacv; 16.09.2015