Собрать 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
А можно сделать так, чтобы 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
Большое спасибо. Примерно тоже самое в 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
Там не везде ошибки в тестах, есть ошибки в самом php.
Нигде. Скажем
Нигде.
Скажем так - это проблемы PHP. Если собираете PHP из исходников вручную под Debian Lenny... То я бы даже надежду на гарантию не давал.
Во-первых, игнорируются дистрибутивные патчи, накладываемые ментейнером/пакетным менеджером. Например в Gentoo - есть целые патчсеты для PHP, включая haardened-PHP - suhosin например.
Во-вторых, туева куча функций в PHP зависит напрямую от внешних программ. Таким образом, ошибки программ могут стать ошибками PHP. Что там у вас поставлено и каких версий в Debian - только вам известно. Элементарно версий тулчейна не озвучено.
В-третих, столь риторический вопрос, я думаю, стоит задавать пользователям Debian, которые более сведущи в вопросах отказоустойчивости PHP в условиях их дистрибутива.
_______________________
From Siberia with Love!
Собрать php без ошибок в make test
Есть четыре способа установки 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 буду пробовать сегодня.
!
Надёжный способ превращения любого дистрибутива в Слаку.
--
Live free or die