суббота, 4 декабря 2010 г.

Обновлена документация для PHP на сайте gentoo.org

Как сообщает Ole Markus в своем блоге, обновилась документация для пакета dev-lang/php

С выходом версии 5.3 и его поддержкой в генту добавилось много изменений, незнание которых может вызвать ряд проблем при устновке php на gentoo. В частности, теперь возможна установка в генту нескольких версий php одновременно в так называемых "слотах", используя вспомогательный пакет app-admin/eselect-php

Как это сделать, теперь более внятно разъясняется в php-guide на сайте генту в секции Slotting используя специальную переменную PHP_TARGETS. И тем не менее полностью не удается избежать проблем. В частности, это касается пакета phpunit например. Утилита /usr/bin/phpunit содержит некорректный путь к интерпретатору php. Фрагмент "неправильного" кода из /usr/bin/phpunit :


#!/usr/lib/php5/bin/php


Воспользовавшись командой whereis php мы получаем следущий код:


whereis php
php: /usr/bin/php /etc/php /usr/lib/php5.3 /usr/share/php


соответственно, путь должен быть таким

#!/usr/lib/php5.3/bin/php
...



Возможно, переустановка пакета phpunit будет содержать правильный путь в /usr/bin/phpunit
Не пробовал. Использую собственную сборку phpunit в виде исполняемого phar-архива.

Кроме того, в документации упоминается о SAPI, поддерживаемых через USE-флаги.
Это флаги: cgi, cli, apache2, fpm (PHP FastCgi Process Manager), embed (встроенный embedded PHP client) Наиболее интересные флаги конечно это fpm и embed. Теретически Embed-флаг позволяет "встраивать" php в другие языки, например python, C

Затронута так-же в двух словах о переустановке pecl-расширений при слоттинге php-версий

Ссылки:
  • Документация по апгрейду PHP


  • Блог Ole Markus


  • Ссылка на статью об обновлении документации PHP