У меня на 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 мог бы исправить мою проблему, которая быть очень полезным.