На моем (домашнем) сервере FreeBSD я установил 6.2-RELEASE-p8. Это «включает» PHP 5.1. Мне нужно установить PHP 5.2 сейчас (из-за зависимости, вероятно, тоже подойдет версия 5.3).
Теперь мой (новичок) вопрос: (как) я могу получить коллекцию портов (csup?), Чтобы я мог установить PHP 5.2 на моем 6.2-RELEASE? Это вообще возможно? И хорошо ли это (или, по крайней мере, приемлемо)?
И должен ли я внимательно следить за расширениями PHP (например, php5-gd или php5-mysql и т. Д.), Или они должны / должны обновляться автоматически?
Я также был бы признателен за ссылку на справочник, если таковой имеется. Кажется, я ввожу неправильные термины в различные поисковые окна, которые я пробовал :(.
РЕДАКТИРОВАТЬ:
Извините за возможную путаницу. У меня уже есть / использую csup. Вот содержимое моего текущего файла ports-supfile:
*default host=cvsup.ch.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELEASE_6_2_0 # Release FreeBSD 6.2
*default delete use-rel-suffix
*default compress
ports-all
Установить cvsup
cd / usr / ports / net / cvsup-without-gui сделать установку чистой
Настройте файл CVSUP для дерева портов, создайте файл со следующим содержимым:
*default tag=.
*default host=cvsup.FreeBSD.org
*default prefix=/usr
*default base=/var/db
*default release=cvs delete use-rel-suffix
ports-all
если вы хотите обновить дерево src, измените первую строку на нужную версию, а последнюю строку следующим образом:
*default tag=RELEND_8
src-all
(Это будет для последнего источника 8.x-STABLE, измените 8 на 6 для 6.x-STABLE)
Запустите cvsup для файла обновления: cvsup cvsup.file
. Подождите, это займет от 15 до 60 минут, в зависимости от того, что нужно обновить.
Установите более новый PHP из дерева портов.
cd /usr/ports/lang/php5 (for 5.3, or php52 for 5.2)
make install clean
Обновите свои расширения php (самые распространенные собраны в мета-порт):
cd /usr/ports/lang/php5-extensions
make config
[select the extensions you want built from the list]
make install clean
Если это для сервера Apache, возможно, вам придется изменить конфигурацию там. Но это зависит от того, как он настроен.
Ссылки:
Справочник - Использование CVSup
Справочник - Использование портов
Справочник - HTTP-сервер Apache (включая некоторую информацию о PHP)
Редактировать:
Есть несколько вариантов. Вы можете переименовать текущий каталог портов (сохраняя его, пока вы берете новую копию и обновляете PHP оттуда). Преимущество этого пути в том, что создание PHP на вашем компьютере должно привести к тому, что правильные зависимости библиотеки уже присутствуют. Кроме того, в вашем исходном файле cvsup есть тег 6.2, что означает, что вы всегда будете получать только те порты, которые поставляются с 6.2-RELEASE; ничего никогда не обновится. Это полезно, если вы хотите снова загрузить копию исходного дерева портов (вы можете удалить дерево портов и использовать cvsup для повторной загрузки всего этого), но в остальном не очень полезно, поскольку ничего не меняется.
Альтернативный путь - загрузить обновленные пакеты и установить их вручную. Есть большая вероятность, что это не сработает из-за того, что разделяемые библиотеки устарели и должны использовать предварительно созданные двоичные файлы; но он определенно изолирует ваше текущее дерево портов.
Вы можете скачать новейшие пакеты с FTP-сайт FreeBSD. Вам понадобится php5.tbz (или php52.tbz) и любое из установленных вами расширений (убедитесь, что вы получили соответствующую версию, 5 или 52, и имейте в виду, что 5 - это версия 5.3).
затем pkd_delete -f [pkg_name]
каждый из пакетов и переустановите их из файлов пакета с pkg_add [package.tbz]
.
Я не уверен, в чем разница в зависимости между версиями, поэтому есть вероятность, что вам придется обновить и другие порты (хотя я думаю, что это маловероятно).