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

freebsd не распознает, что php был установлен через порты

У меня на FreeBSD 8.0-STABLE установлен php 5.2.12. Он был установлен из портов, и я пытаюсь обновить его до версии 5.3.2.

Однако по какой-то причине моя система не распознает, что php был установлен через порты. Когда я запускаю «pkg_version», список не включает php, но включает все расширения, которые я установил.

Я даже попытался выполнить "make deinstall" на "/ usr / ports / lang / php5", он сказал мне, что порт был деинсталлирован, но php по-прежнему работает правильно, т.е. "php -v" работает

есть идеи о том, как этот порт стал отключен от системы портов? и как я могу заставить систему портов распознать, что на ней установлен php?

РЕДАКТИРОВАТЬ: Когда я снова и снова запускаю "make deinstall", я всегда получаю один и тот же ответ

Deinstalling for lang/php5

Я никогда не получу

php52 not installed, skipping

это то, что я ожидал после первого запуска "make deinstall"

Если вы используете lang / php5, вы удаляете PHP 5.3; вы должны быть в lang / php52, чтобы удалить PHP 5.2

Грубо говоря, PHP 5.3.2 только недавно был представлен в дереве портов FreeBSD, и для правильной установки 5.3.2 вы должны сначала обновить локальное дерево портов с помощью csup или cvsup. Вы сначала прошли через эти шаги?

Я не уверен, почему, но ответ состоял в том, чтобы восстановить все порты.

portupgrade -a

после запуска этого pkg_version теперь понимает, что php установлен.

К счастью, это не производственная машина, поэтому это не было проблемой, если я получу это на производственной машине, я думаю, мне понадобится лучший ответ, поэтому, если у кого-то есть объяснение, почему portupgrade -a мог бы исправить мою проблему, которая быть очень полезным.