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

Как установить новый порт (PHP> 5.1) на более раннюю версию / мир?

На моем (домашнем) сервере 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
  1. Установить cvsup

    cd / usr / ports / net / cvsup-without-gui сделать установку чистой

  2. Настройте файл 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)

  3. Запустите cvsup для файла обновления: cvsup cvsup.file. Подождите, это займет от 15 до 60 минут, в зависимости от того, что нужно обновить.

  4. Установите более новый PHP из дерева портов.

    cd /usr/ports/lang/php5 (for 5.3, or php52 for 5.2)
    make install clean
    
  5. Обновите свои расширения php (самые распространенные собраны в мета-порт):

    cd /usr/ports/lang/php5-extensions
    make config
    [select the extensions you want built from the list]
    make install clean
    
  6. Если это для сервера 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].

Я не уверен, в чем разница в зависимости между версиями, поэтому есть вероятность, что вам придется обновить и другие порты (хотя я думаю, что это маловероятно).