Назад | Перейти на главную страницу

Как установить разные версии, ебилды php

Я пытаюсь скомпилировать более низкую версию php (5.2), так как gentoo выбирает 5.3, и у меня возникают некоторые проблемы с кодированием в новой версии

нано /etc/portage/package.use

= dev-lang / php-5.2.14 ~ amd64

все еще, когда я выхожу, появляются -av php

все еще выбирает версию 5.3, которая по умолчанию

как еще я могу заставить emerge выбрать нужную мне версию

ls / usr / portage / dev-lang / php / ChangeLog php-5.2.14.ebuild php-5.3.4.ebuild Манифест php-5.2.16.ebuild php-5.3.5.ebuild files / php-5.2.17. ebuild metadata.xml php-5.3.3-r1.ebuild

Вы должны найти старый пакет ebuild, он должен находиться в каталоге portage.

Тогда, если я правильно помню, команда для запуска была "ebuild old-package.ebuild", и она скомпилирует ее.

Во-первых, в php 5.2.17 уже есть amd64 в его ключевых словах так ~amd64 ничего бы не сделал.

Во-вторых, почти никогда не стоит пытаться смешивать ~amd64 и amd64 Вот почему вы устанавливаете ACCEPT_KEYWORDS=~amd64 (или amd64) в /etc/make.conf. Это переменная для каждого хоста.

В-третьих, вы должны использовать /etc/portage/package.mask вот так:

>dev-lang/php-5.2.17

Это предотвратит маскировку всех ебилдов с версией выше 5.2.17.

Тогда беги emerge -upv --deep --newuse php.

не появилось сообщение об ошибке сразу? спецификации ключевых слов должны входить в /etc/portage/package.keywords.

@комментарий:

emerge -av =php-5.2.17

если любой из них состоит из ключевых слов, то:

echo "=dev-lang/php-5.2.17 ~amd64" >> /etc/portage/package.keywords

Версии PHP теперь размещены в Gentoo, поэтому вы можете легко иметь любую версию или даже обе одновременно в системе и переключаться между ними с помощью eselect. Eсть полное руководство на домашней странице Gentoo о том, как правильно перейти на версии PHP со слотами.