За последние 24 часа нас посетили 17764 программиста и 1628 роботов. Сейчас ищут 953 программиста ...

Проблема запуска Apache c pgsql.so

Тема в разделе "PostgreSQL", создана пользователем Trider, 24 ноя 2008.

  1. Trider

    Trider Активный пользователь

    С нами с:
    24 ноя 2008
    Сообщения:
    7
    Симпатии:
    0
    Проблема всплывает неоднократно. Была обнаружена совершенно на разных платформах под управлением OS FreeBSD разных версий с совершенно разным комплектом ПО. При попытке установки php5-pgsql и включении в /usr/local/etc/php/extensions.ini:
    Код (Text):
    1.  
    2. extension=pgsql.so
    в любой последовательности, Apache 1.3.x не запускается. Причина проблемы ясна: либо кривые руки разработчиков в Zendе, либо в Apache. В любом случае ни одна сволочь из вышеупомянутых не додумалась написать патч. А меня данная проблема уже порядком бесит, причины которой на сегодняшний день объяснить не может никто.
    Опишу самый последний проект на котором я попался с php5-pgsql. Установил свеженькую систему OS FreeBSD-7.0 RELEASE i386 с нуля, установил свежий снимок портов. Из портов установил Apache 1.3.41,
    Код (Text):
    1. # php -v
    2. PHP 5.2.6 with Suhosin-Patch 0.9.6.2 (cli) (built: Nov 23 2008 01:57:01)
    3. Copyright (c) 1997-2008 The PHP Group
    4. Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
    5.  
    6. # pkg_info | grep php
    7. php5-5.2.6_2        PHP Scripting Language
    8. php5-pcre-5.2.6_2   The pcre shared extension for php
    9. php5-pgsql-5.2.6_1  The pgsql shared extension for php
    10. php5-session-5.2.6_2 The session shared extension for php
    11. phppgadmin-4.2.1    Web Based Postgres Administration
    Содержимое /usr/local/etc/php/extensions.ini:
    Код (Text):
    1.  
    2. extension=pgsql.so
    3. extension=pcre.so
    4. extension=session.so
    Всё, Apache не запускается. Комментируем в extensions.ini "extension=pgsql.so" и Apache запускается.

    P.S.: господа, с просьбам типа "error.log в студию" прошу не отписываться, в таком случае вы не компетенты в этом вопросе, почему лог ошибок Apache здесь ни причём и почему он пуст думайте сами, остальные поймут, объяснять устал.
     
  2. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    Не испытывал подобных проблем. (право давно не юзал апач 1.3, ща соберу и скажу как оно)
    Из cli с включенным pgsql.so не материца?

    Код (Text):
    1. # apachectl start
    тоже молчит?
     
  3. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    мде. трабла имеет место.

    strace -f вконце говорит
    и все

    Причем происходит это только в связке с апачем 1.3

    гугль тоже знает об этой проблеме.

    удачи с поиском лекарства ;)
     
  4. Trider

    Trider Активный пользователь

    С нами с:
    24 ноя 2008
    Сообщения:
    7
    Симпатии:
    0
    Ti, хм! Ну намекните, раз Вы видели решение проблемы от гугла. Я вот что-то ищу и решение уже месяц найти не могу.
     
  5. mmaavv

    mmaavv Активный пользователь

    С нами с:
    25 мар 2007
    Сообщения:
    59
    Симпатии:
    0
    странно, у меня эта связка работает и никаких проблем не замечал.
    phppgadmin прекрасно работает.

    Код (Text):
    1. # php -v
    2. PHP 5.2.6 with Suhosin-Patch 0.9.6.2 (cli) (built: Oct 26 2008 05:22:56)
    3. Copyright (c) 1997-2008 The PHP Group
    4. Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
    5.  
    6. # pkg_info | grep php
    7. php5-5.2.6_2        PHP Scripting Language
    8. php5-bcmath-5.2.6_2 The bcmath shared extension for php
    9. php5-bz2-5.2.6_2    The bz2 shared extension for php
    10. php5-ctype-5.2.6_2  The ctype shared extension for php
    11. php5-curl-5.2.6_2   The curl shared extension for php
    12. php5-dom-5.2.6_2    The dom shared extension for php
    13. php5-gd-5.2.6_2     The gd shared extension for php
    14. php5-gettext-5.2.6_1 The gettext shared extension for php
    15. php5-iconv-5.2.6_2  The iconv shared extension for php
    16. php5-mbstring-5.2.6_2 The mbstring shared extension for php
    17. php5-mcrypt-5.2.6_2 The mcrypt shared extension for php
    18. php5-mhash-5.2.6_2  The mhash shared extension for php
    19. php5-mysql-5.2.6_2  The mysql shared extension for php
    20. php5-openssl-5.2.6_2 The openssl shared extension for php
    21. php5-pcre-5.2.6_2   The pcre shared extension for php
    22. php5-pdo-5.2.6_2    The pdo shared extension for php
    23. php5-pdo_sqlite-5.2.6_2 The pdo_sqlite shared extension for php
    24. php5-pgsql-5.2.6_1  The pgsql shared extension for php
    25. php5-posix-5.2.6_2  The posix shared extension for php
    26. php5-session-5.2.6_2 The session shared extension for php
    27. php5-simplexml-5.2.6_2 The simplexml shared extension for php
    28. php5-sockets-5.2.6_2 The sockets shared extension for php
    29. php5-spl-5.2.6_2    The spl shared extension for php
    30. php5-sqlite-5.2.6_2 The sqlite shared extension for php
    31. php5-tokenizer-5.2.6_2 The tokenizer shared extension for php
    32. php5-xml-5.2.6_2    The xml shared extension for php
    33. php5-xmlreader-5.2.6_2 The xmlreader shared extension for php
    34. php5-xmlwriter-5.2.6_2 The xmlwriter shared extension for php
    35. php5-zlib-5.2.6_2   The zlib shared extension for php
    36.  
    37. # httpd -v
    38. Server version: Apache/1.3.41 (Unix)
    39. Server built:   Oct 26 2008 03:20:23
    40.  
    41. # uname -a
    42. FreeBSD _hostname_ 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008     root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
    43.  
    44. extension=bcmath.so
    45. extension=bz2.so
    46. extension=ctype.so
    47. extension=curl.so
    48. extension=pcre.so
    49. extension=simplexml.so
    50. extension=spl.so
    51. extension=dom.so
    52. extension=fileinfo.so
    53. extension=filter.so
    54. extension=gd.so
    55. extension=gettext.so
    56. extension=hash.so
    57. extension=iconv.so
    58. extension=json.so
    59. extension=openssl.so
    60. extension=pdf.so
    61. extension=pdo.so
    62. extension=pdo_sqlite.so
    63. extension=pgsql.so
    64. extension=posix.so
    65. extension=session.so
    66. extension=sockets.so
    67. extension=sqlite.so
    68. extension=tokenizer.so
    69. extension=xml.so
    70. extension=xmlreader.so
    71. extension=xmlwriter.so
    72. extension=zip.so
    73. extension=zlib.so
    74. extension=mbstring.so
    75. extension=mcrypt.so
    76. extension=mhash.so
    77. extension=mysql.so
    78. extension=apc.so
     
  6. Trider

    Trider Активный пользователь

    С нами с:
    24 ноя 2008
    Сообщения:
    7
    Симпатии:
    0
    mmaavv, тут в чистом виде: раз на раз.
     
  7. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    решение я не увидел
     
  8. Trider

    Trider Активный пользователь

    С нами с:
    24 ноя 2008
    Сообщения:
    7
    Симпатии:
    0
    Ну а какого лекарства? Существует патч? А есть решение данной проблемы?
     
  9. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    патч довольно универсальный: не юзать apache 1.3
     
  10. Trider

    Trider Активный пользователь

    С нами с:
    24 ноя 2008
    Сообщения:
    7
    Симпатии:
    0
    Ti, зачем мне многопоточный Apache второй ветки? Я проксирую HTTP-запросы к Apache 1.3.
     
  11. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    С помощью nginx?
    Тогда может стоит вообще отказатся от apache и юзать fcgi?
    Есть замечательная для этого штука php-fpm.
     
  12. Trider

    Trider Активный пользователь

    С нами с:
    24 ноя 2008
    Сообщения:
    7
    Симпатии:
    0
    Ti, дело в том что диалектика конфигурационных файлов nginx не совсем совместима с Apache. Я имею ввиду случай с .htaccess, ведь пользователь хостинга ориентируется на диалектику Apache используя на своих проектах .htaccess, плюс ко всему так же не стандартен вывод логов в nginx, я имею ввиду все символы без исключения, в том числе и пробел. А стандартные парсеры логов Apache для вывода статистики посещений переписывать под nginx- решение отстой.
    В принципе радует одно, что выявлена проблема, которая заложена в web-сервере Apache 1.3. Хоть известно, что не в php или не в php5-pgsql.
     
  13. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Логи у nginx такие же, как у apache и прекрасно конфигурируются, и это не "отстой". Но если вопрос хостинга, то да, поддержка .htaccess может играть решающую роль. Кстати, попутно гляньте mod_aclr - как раз для таких случаев модуль.

    А вот почему все валится в корку - это вопрос. Попробуйте для начала пересобрать php без Suhosin-Patch и отключить, если оно есть, всякие акселераторы типа apc и eAccelerator. Желательно еще собрать php --with-debug и CFLAGS="-g3 -O0" (и модули тожа с CFLAGS="-g3 -O0")
     
  14. Trider

    Trider Активный пользователь

    С нами с:
    24 ноя 2008
    Сообщения:
    7
    Симпатии:
    0
    MiksIr, не помогло :(
    Одним словом нужно развести кого-то на патч к Apache 1.3 из системных кодеров, проблема в принципе ясна.
     
  15. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Не думаю, что тут апач виноват. Но в принципе если экспа мало, лучше попросить отбектрейсить корку кого-то еще ;) Если самому - то после сборки с указанными флагами найти корку и отgdb ее - будет видно где валится.