Собрать php без ошибок в make test

Всем привет!

Пробую настроить высоконагруженный web-сервер на основе nginx + php-fpm.
Уже вторую неделю бьюсь, что откомпилить php без ошибок в make test.
Пробую все это сделать в Debian (и как-бы между прочим в Ubuntu).
В обоих случая - ничего не получается. Здесь моя переписка в php-highload.

Мне вот не понятно, если разработчики Php назвали php 5.2.6 релизом, то они могли бы хотя бы элементарные ошибки в своих же тестах поубирать, не говоря уже про ошибки в самом php или это у них только за платно?

Или, как минимум, убрать нафиг напоминанание запустить make test после make, а то запускаешь make test и смотришь, как баран на эти ошибки и не знаешь, что с ними делать: или сам дурак или девелоперы че-то не того.

Хотел попробовать в gentoo посмотреть, да долго ставить: на тестовом серваке слабый проц.
Может кто подскажет, как с этим обстоит дело в gentoo? В make test чисто или те же косяки? (test iconv не в счет)

Заранее спасибо.

.

Как с этим обстоит дело? Да просто emerge php и всё.
Я даже не знаю, где мне make test запускать :-)
А через configure + make ставить неохота, ибо зло.
Так что... попробуйте ставить Gentoo не на тестовом серваке, где слабый проц,
а на другой машине.

Собрать php без ошибок в make test

ndrwsh написал(а):
Как с этим обстоит дело? Да просто emerge php и всё.
Я даже не знаю, где мне make test запускать :-)

А можно сделать так, чтобы emerge php оставил за собой исходники из которых компилировался?
Если да, то попробуйте зайти в дерево исходников php и сделайте make test.

Мне очччень интересно, че там получится. ;)
Даже как-то не верится, что он будет безбажный.
Если я не прав - перевожу свой сервак на Gentoo! :-)

>>> А можно

>>> А можно сделать так, чтобы emerge php оставил за собой исходники из которых компилировался?
ebuild /path/to/file.ebuild unpack

Если вам это

Если вам это как-то поможет:
emerge --info http://pastebin.ca/raw/1227250
test http://pastebin.ca/raw/1227256

Собрать php без ошибок в make test

bes.internal написал(а):
Если вам это как-то поможет:
emerge --info http://pastebin.ca/raw/1227250
test http://pastebin.ca/raw/1227256

Большое спасибо. Примерно тоже самое в Debian Lenny (testing) и, наверное, в других дистрах.
Но вот вопрос - где гарантия, что баги ниже не будут сказываться на работу высоконагруженного или даже обычного web-сервера?

=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
mysql_fetch_array [ext/mysql/tests/002.phpt]
mysql_fetch_object [ext/mysql/tests/003.phpt]
invalid session.save_path should not cause a segfault [ext/session/tests/016.phpt]
Test array_diff_assoc() function : usage variations - strict string comparison check [ext/standard/tests/array/array_diff_assoc_variation6.phpt]
Test array_pad() function : usage variations - unexpected values for 'pad_size' argument(Bug#43482) [ext/standard/tests/array/array_pad_variation2.phpt]
Test closedir() function : usage variations - close a file pointer [ext/standard/tests/dir/closedir_variation3.phpt]
Test readdir() function : usage variations - use file pointers [ext/standard/tests/dir/readdir_variation7.phpt]
Test rewinddir() function : usage variations - file pointers [ext/standard/tests/dir/rewinddir_variation3.phpt]
Test bindec() - basic function test bindec() [ext/standard/tests/math/bindec_basic.phpt]
Bug #24142 (round() problems) [ext/standard/tests/math/bug24142.phpt]
Bug #25694 (round() and number_format() inconsistency) [ext/standard/tests/math/bug25694.phpt]
htmlentities() test 4 (setlocale / ja_JP.EUC-JP) [ext/standard/tests/strings/htmlentities04.phpt] (warn: possibly braindead libc)
money_format test [ext/standard/tests/strings/moneyformat.phpt]
Bug #35447 (xml_parse_into_struct() chokes on the UTF-8 BOM) [ext/xml/tests/bug35447.phpt]
XML Parser test: concat character data and set empty handlers [ext/xml/tests/xml011.phpt]
=====================================================================

В php-highload

В php-highload написали, что тесты кривые и их уже пофиксили. Один связан с настройкой локали, но на практике может и не появится.

Собрать php без ошибок в make test

yaleks написал(а):
В php-highload написали, что тесты кривые и их уже пофиксили. Один связан с настройкой локали, но на практике может и не появится.

Там не везде ошибки в тестах, есть ошибки в самом php.

Нигде. Скажем

Нигде.
Скажем так - это проблемы PHP. Если собираете PHP из исходников вручную под Debian Lenny... То я бы даже надежду на гарантию не давал.
Во-первых, игнорируются дистрибутивные патчи, накладываемые ментейнером/пакетным менеджером. Например в Gentoo - есть целые патчсеты для PHP, включая haardened-PHP - suhosin например.
Во-вторых, туева куча функций в PHP зависит напрямую от внешних программ. Таким образом, ошибки программ могут стать ошибками PHP. Что там у вас поставлено и каких версий в Debian - только вам известно. Элементарно версий тулчейна не озвучено.
В-третих, столь риторический вопрос, я думаю, стоит задавать пользователям Debian, которые более сведущи в вопросах отказоустойчивости PHP в условиях их дистрибутива.
_______________________
From Siberia with Love!

Собрать php без ошибок в make test

winterheart написал(а):
Нигде.
Скажем так - это проблемы PHP. Если собираете PHP из исходников вручную под Debian Lenny... То я бы даже надежду на гарантию не давал.
Во-первых, игнорируются дистрибутивные патчи, накладываемые ментейнером/пакетным менеджером. Например в Gentoo - есть целые патчсеты для PHP, включая haardened-PHP - suhosin например.
Во-вторых, туева куча функций в PHP зависит напрямую от внешних программ. Таким образом, ошибки программ могут стать ошибками PHP. Что там у вас поставлено и каких версий в Debian - только вам известно. Элементарно версий тулчейна не озвучено.
В-третих, столь риторический вопрос, я думаю, стоит задавать пользователям Debian, которые более сведущи в вопросах отказоустойчивости PHP в условиях их дистрибутива.

Есть четыре способа установки php:

1. apt-get install php5 (emerge php)
2. wget php.net/php-5.2.6, tar -zxf php-5.2.6, cd php-5.2.6, ./configure, make, make test, make install
3. сборка "родного" php c применением всех патчей:
# apt-get build-dep php5
# apt-get source php5 (или dpkg-source -x php5-тра-ла-ла.dsc, если все файлы уже есть)
# cd php5-тра-ла-ла
# debuild -us -uc
# cd ..
# dpkg -i *.deb

4. гибридная (чтобы наложить патчи третьей стороны, которых нет в дистре, но использовать исходники из дистра)
# apt-get build-dep php5
# apt-get source php5 (или dpkg-source -x php5-тра-ла-ла.dsc, если все файлы уже есть)
# cd php5-тра-ла-ла
# export QUILT_PATCHES=debian/patches
# ls debian/pathes > series
# mv series debian/patches/
# quilt push -a
# ./configure
# make
# make test
# make install

Во всех случая вылезают ошибки в make test.
Меньше всего ошибок, у меня получилось последним способом (в третьем и первом невозможно наложить php-fpm) в Ubuntu, точнее Linux Mint Elyssa (на основе Ubuntu 8.04). В чистом Ubuntu Server буду пробовать сегодня.

!

Windows написал(а):
Есть четыре способа установки php:

...2. wget php.net/php-5.2.6, tar -zxf php-5.2.6, cd php-5.2.6, ./configure, make, make test, make install

Надёжный способ превращения любого дистрибутива в Слаку.
--
Live free or die

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".