1

Недавно мне было поручено следить за серверами (у нас нет администратора сервера), и я только что понял, что мы используем довольно старую версию php, которая имеет несколько уязвимостей в соответствии с http://lwn. net/Alerts/609952/. Я бы хотел обновиться до последней стабильной версии, но я не уверен, что мне нужно делать что-то еще, кроме этих 2 команд:

emerge --sync

emerge --ask --oneshot --verbose "=dev-lang/php-5.5.17

Нужно ли перекомпилировать php? Есть ли другой шаг, чтобы заставить его работать с Apache?

Я был бы очень признателен за помощь, так как я не очень знаком с Gentoo.

1 ответ1

1

Чтобы обновить PHP на Gentoo:

(Подробнее по теме: документация Gentoo PHP).

  1. Синхронизируйте ваше дерево портежей: emerge --sync

  2. Проинструктируйте emerge использовать PHP-5.5: добавьте следующее в ваш make.conf: PHP_TARGETS="php5-5"

  3. Переключиться на новую версию PHP. Если вы работали с PHP-5.4 и теперь хотите начать использовать PHP-5.5, вам нужно дать команду системе начать использовать PHP-5.5. Используйте для этого команду eselect php .

  4. Появиться новая версия PHP: emerge --ask php

  5. Обновите файлы конфигурации: запустите dispatch-conf чтобы правильно обновить ваши файлы конфигурации PHP. Это удалит старые / неподдерживаемые элементы и добавит новые элементы в конфигурационные файлы.

  6. Перезапустите ваш веб-сервер или интерпретатор PHP (в случае, если вы используете PHP-FPM): если вы используете apache, который был установлен вместе с emerge то это будет /etc/init.d/apache2 restart . В случае PHP-FPM это будет /etc/init.d/php-fpm restart .

Этого должно быть достаточно для обновления PHP в вашей системе Gentoo.

Вы можете проверить, какая версия PHP используется в данный момент, создав страницу со следующим содержимым:

<?php phpinfo();

Сохраните эту страницу где-нибудь в дереве документов вашего веб-сервера (убедитесь, что она недоступна для всех, кроме вас), откройте ее в браузере, и вы сможете увидеть, какая версия PHP используется. Удалить страницу потом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .