Page 5 of 8 FirstFirst ... 34567 ... LastLast
Results 61 to 75 of 107

Thread: Не работает php-fcgi

  1. #61

    Очередная попытка борьбы с php-fcgi

    Вобщем написал скрипт, который переустанавливает php и php-fcgi при старте роутера. Причем, если php или php-fcgi не установлены - поставит, если установлены - удалит и поставит заново.

    Все файлы в аттаче. Файлы пакетов скачать можно из репозитария или тут.

    Использование:
    1. Положить файл скрипта S01php в папку /opt/etc/init.d.
    2. Сделать его исполняемым. chmod +x /opt/etc/init.d/S01php.
    3. Создать в /opt любую директорию и положить туда 2 пакета - php и php-fcgi.
    4. Также не забыть положить туда файл php.ini (у каждого свой, мой - в аттаче).
    5. Отредактировать сам скрипт, а именно:прописать пути к пакетам и файлу php.ini в переменные, пример:
    Code:
    NAME_PHP=/opt/buck/php_5.2.8-1_mipsel.ipk
    NAME_PHPFCGI=/opt/buck/php-fcgi_5.2.8-1_mipsel.ipk
    NAME_PHPINI=/opt/buck/php.ini
    Время загрузки роутера, конечно, увеличится, зато у меня работает. ВОбщем тестите.

    З.Ы. Это имеет смысл, если у вас проблема с php возникает не из-за дисковой системы.
    Attached Files Attached Files

  2. #62
    Sashunya, поскольку нас, борцов с php не так много - ты, я и еще пара-тройка несчастных, пора сделать вывод: в наших аппаратах битая память, причем в той области, которую не может протестировать memtest. Полагаю, что магическое влияние этой проблемы только на php можно объяснить приличным размеров этих файлов. Возможно, другие сопоставимые по размерам пакеты тоже будут неработоспособны.
    Теперь по скрипту: тебе простая переустановка php при загрузке помогает в 100%?
    Наверное, мой аппарат больнее твоего, поскольку в моем случае если php не переустановить, то он в 100% будет неработоспособным, а если переустановить - то в 50%. Причем после запуска lighttpd возможны три варианта: php-fcgi запустился и работает (50% вероятность), php-fcgi запущен, но со статусом Z <defunct> - зомби (25%), и третий вариант - отсутствие процесса в памяти, т.е. когда он просто не запустился (25%). Поэтому, чтобы гарантированно запускать php, надо наши скрипты объединить, поскольку в моем скрипте (приводил выше) проверяется наличие в памяти именно _работоспособного_ процесса php-fcgi, и если такового нет - только тогда делается переустановка. В скрипте есть счетчик попыток запуска, так вот из моего опыта - до успешного запуска обычно совершается от 2 до 5 попыток.
    И еще оно примечание: мой скрипт работает только если его запускать из командной строки. Если его вызывать из другого скрипта, например, из post-mount, то он почему-то не работает. Если кто может подсказать, в чем косяк - буду благодарен.

  3. #63
    А вобще-то это гарантийный случай. Надо пойти в сервис-центр и поменять, и все дела. Я на родной асусовской прошивке не смог заставить работать комплектный Download Master. Полагаю, по тем же причинам. Этого достаточно для обоснования неработоспособности аппарата? Подскажите, какой гарантийный срок у wl-500gP v.1? На сайте у асусов как-то мутно написано, я так и не понял - 1 год или 2?
    И если менять, то на что? v.1 не выпускается, v.2 не хочется...

  4. #64
    Quote Originally Posted by TOYan View Post
    Sashunya, поскольку нас, борцов с php не так много - ты, я и еще пара-тройка несчастных, пора сделать вывод: в наших аппаратах битая память, причем в той области, которую не может протестировать memtest. Полагаю, что магическое влияние этой
    А как протестировать память?

    Quote Originally Posted by TOYan View Post
    Теперь по скрипту: тебе простая переустановка php при загрузке помогает в 100%?
    Да. Раз 20 запускал при различных условиях (даже тупо питание отключал роутера).

    Quote Originally Posted by TOYan View Post
    И еще оно примечание: мой скрипт работает только если его запускать из командной строки. Если его вызывать из другого скрипта, например, из post-mount, то он почему-то не работает. Если кто может подсказать, в чем косяк - буду благодарен.
    Тут не помогу, т.к. предыдущий скрипт, был первый, кот.я написал , знаний еще недостаточно.

  5. #65
    Quote Originally Posted by Sashunya View Post
    А как протестировать память?
    Code:
    ipkg install memtester
    Только писали, что он способен протестировать только 16 мб из 32. У меня проходит без проблем. Прогонишь - напиши здесь о своих результатах.

  6. #66

    Заключение

    Поделюсь с коллегами-обладателями таких же глючных аппаратов как у меня своим, похоже уже финальным заключением, к которому я пришел в результате всей этой борьбы с php.
    В wl500gP два вида памяти:
    1. NVRAM (8мб), в которой между перезагрузками аппарата хранятся: загрузчик, прошивка, данные, которые можно посмотреть командой nvram show, к примеру параметры оборудования и файл flashfs.tar.gz (содежирмое /usr/local/*), который записывается в nvram командой flashfs commit.
    2. RAM (32мб).
    В момент загрузки аппарата из NVRAM в RAM копируется прошивка (правильнее наверное ядро), затем разворачивается flashfs.tar.gz, исполняются post- и pre- скрипты, и далее, если все красиво настроено, запускаются скрипты /opt/etc/init.d/Sxx*.
    Где-то одним из последних загружается, к примеру lighttpd и тянет за собой php и php-fcgi.
    Теперь ключевое: у нас есть битый участок памяти, на который может попасть тело процесса php-fcgi. При этом, если на этот битый участок памяти пришелся например, фрагмент текста, который есть внутри php-fcgi, то последний может остаться работоспособным. Если же фрагмент исполняемого кода, то процесс практически гарантированно слетит в <defunct>.
    Если вам повезло, и процесс функционирует, то при следующей перезагрузке он останется рабочим, только если вы ничего не меняли из того, что может повлиять на смещение этого процесса в памяти, а именно: не изменяли содержимое /usr/local/* c последующим flashfs commit, не изменяли в веб-интерфейсе настройки, влияющие на запуск/отключение демонов, например, включили или отключили запуск встроенной самбы, ну и не изменяли порядок запуска, определенный в /opt/etc/init.d
    Если вы это делали, то при следующей перезагрузке опять рулетка: на какой участок исполняемого файла придется сбойный фрагмент памяти, а тут из моего опыта - примерно 50/50.
    Теперь что касается глюка с контрольными суммами: похоже, это просто косяк утилиты md5sum. Напомню, сразу после установки пакетов php и php-fcgi, и _до_ попыток их запуска можно сделать копии бинарников (собственно этих двух файлов) в другую папку. При этом md5sum у оригиналов и копий будут одинаковыми. Но после первой же попытки запуска php утилита md5sum начинает показывать разные значения. Просто видимо она пытается считать суммы не у файлов на диске, а у их копий в памяти (кеше), а там у нас, как мы помним, дырка. На самом деле файлы на диске не меняются, что подверждает вывод другой утилиты - diff. Последняя не находит разницы при сравнении содержимого файлов, лежащих в разных директориях даже после попыток их запуска.
    Поэтому, пакеты можно не переустанавливать при каждой загрузке, а просто, если они у вас один раз запустились - ничего не трогать. Если пакеты не запустились, можно пытаться менять порядок загрузки в init.d, или что-нибудь включать/отключать через веб-интерфейс. В какой-то момент вы угадаете, с какой попытки - предсказать невозможно.
    Ну и последнее. Если как-то возможно вычислить адрес сбойного участка, и загрузить конкретно в него файл-заглушку вида "This is a hole", который конечно тут же превратится в "Thi. is a h.le", но закроет собой эту амбразуру, прошу научить - я пока не знаю как это можно сделать. memtester ставил на ночь - там все OK, но он тестирует только половину памяти, как мне добраться до второй половины?
    И еще я хочу пойти в сервис-центр с целью обмена/ремонта, но мне нужно будет как-то доказать инженеру по гарантии наличие проблемы в аппарате. А в заводской асусовской прошивке, которую я верну перед походом нет возможности даже телнетом зайти в аппарат. Как быть?
    Подсмотрел тут одну рекомендацию- перед походом в сервис-центр дать команду
    Code:
    /sbin/erase /dev/mtd0
    Но что-то мне кажется, что это не наш метод. Ну заменят они мне загрузчик, зальют прошивку и вернут аппарат. Кто там будет разбираться с тонкостями типа глюков с php-fcgi?
    Last edited by TOYan; 17-02-2009 at 09:00.

  7. #67
    ВОбщем потестил у себя память, за 3 подхода не выдала ни одной ошибки. Я все-таки свожу все к типу соединения с инетом. Т.к. тестил на другом роутере (таком же) так там тоже проблема с PHP появлялась только при типе соединения PPTP. При Direct или Automatic проблем с PHP не возникало. ВОбщем пока мы тут будем бороться с PHP выйдет что-то более стоящее, а пока работает хоть как-то и слава богу. Но если что-нибуть получиться накопать, то обязательно отпишусь.

  8. #68
    Завтра понесу больного в сервис, уже созвонился. Поставил только что асусовскую последнюю прошивку с их сайта, подключил USB-диск, залил через встроенную самбу на него файл размером 1,37gb. Сразу же проверил контрольные суммы: у оригинала и копии они разные. И по алгоритму MD5, и по CRC32, и по SHA-1. Всё, баста. Так и буду рассказывать инженеру-гарантийщику: хеши файлов не должны меняться при простом копировании по-любому, независимо от прошивки, типа подключения и протокола. Иначе не будет ни торрентов, ничего. По крайней мере с моим аппаратом мне теперь все ясно: на 100% аппаратная проблема. Желаю всем удачи в решении похожих проблем.

  9. #69
    так чем все закончилось? Решили проблнему?

  10. #70
    Quote Originally Posted by Sashunya View Post
    Вобщем думаю пора подымать эту тему, т.к. ну не работает нормально данный пакет. Теперь предыстория:
    1. Сначала все ставил автоматом отсюда http://wl500g.info/showthread.php?t=15266. Все заработало кроме Php-fcgi ну и соотв. не было ни морды rtorrent ни ADOS.
    2. Потом пробовал с нуля без скриптов по инструкциям, которых тут полно. Опять то же самое. Все работает кроме php-fcgi.
    3. Далее решил попробовать с установкой скрипта S45php. Опа! Php-fcgi запустился и я даже увидел вебморды и все вроде заработало. Но после очередного ребута, опять Segmentation Fault. Запускалось после наверное 10 ребутов.
    4. Что стоит:
    Code:
    ipkg install coreutils
    ipkg install findutils
    ipkg install diffutils
    ipkg install screen
    ipkg install nano
    ipkg install procps
    ipkg install less
    ipkg install unzip
    ipkg install tar
    ipkg install gzip
    ipkg install unrar
    ipkg install hdparm
    ipkg install man
    ipkg install man-pages
    ipkg install mc
    ipkg update
    ipkg install cron
    ipkg install lighttpd
    ipkg install php
    ipkg install php-mbstring
    ipkg install php-fcgi
    ipkg install sqlite
    ipkg install php-gd
    ipkg install libcurl
    ipkg install wget
    ipkg install perl
    Мои изыскания показали что виноваты другие пакеты. В примере выше это как минимум php-gd.

    Попробуйте. Не скажу что это стопроцентный факт, но результат показан ниже - на работающий php-fcgi устанавливаю php-gd (при остановленном lighttpd). Запускаю lighttpd - php-fcgi запускается в виде зомби. Останавливаю lighttpd, сношу php-gd, запускаю lighttpd - php-fcgi как новенький. Аналогично с php-mysql - устанавливаю, работает нормально пока не вставляю в php.ini extension=mysqli.so С mysqli.so не работает (добавление extension=mysql.so работу php-fcgi не ломает, на чём и остановился).

    Показываю пример с php-gd:
    Code:
    [akulov@noone-gateway log]$ /opt/etc/init.d/S80lighttpd stop
    Stopping web server: lighttpd
    [akulov@noone-gateway log]$ ipkg install php-gd
    Installing php-gd (5.2.11-1) to /opt/...
    Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/php-gd_5.2.11-1_mipsel.ipk
    Configuring php-gd
    Successfully terminated.
    [akulov@noone-gateway log]$ ps                              
      PID  Uid     VmSize Stat Command
        1 akulov      432 S   /sbin/init 
        2 akulov          SW  [keventd]
        3 akulov          SWN [ksoftirqd_CPU0]
        4 akulov          SW  [kswapd]
        5 akulov          SW  [bdflush]
        6 akulov          SW  [kupdated]
        7 akulov          SW  [mtdblockd]
       60 akulov      356 S   httpd vlan1 
       62 akulov      520 S   nas /tmp/nas.lan.conf /tmp/nas.lan.pid lan 
       66 akulov      324 S   klogd 
       68 nobody      428 S   [dnsmasq]
       69 akulov          SW  [khubd]
       78 akulov      276 S   lpd 
       80 akulov      240 S   p9100d -f /dev/usb/lp0 0 
       82 akulov      344 S   rcamdmain 
       86 akulov          SW  [usb-storage-0]
       87 akulov          SW  [scsi_eh_0]
       93 1           340 S   [portmap]
       96 akulov      480 S   /usr/sbin/statd 
       98 akulov          SW  [nfsd]
       99 akulov          SW  [lockd]
      100 akulov          SW  [rpciod]
      102 akulov      344 S   /usr/sbin/mountd 
      126 akulov      312 S   infosvr br0 
      127 akulov      480 S   watchdog 
      131 akulov      344 S   ntp 
      155 akulov      344 S   dropbear -s -p 1325 -b /etc/sshbanner 
      161 akulov      376 S   udhcpc -i vlan1 -p /var/run/udhcpc0.pid -s /tmp/udhcpc 
      162 akulov      624 R   dropbear -s -p 1325 -b /etc/sshbanner 
      163 akulov      540 S   -sh 
      186 akulov          SW  [kjournald]
      188 akulov          SW  [kjournald]
      219 akulov      356 S   /sbin/syslogd -m 0 -O /opt/var/log/syslog.log -S -l 7 -s 0 
      224 akulov      396 S   /opt/sbin/cron 
      237 akulov      900 S   /opt/sbin/sshd 
      252 akulov      368 S   vsftpd /opt/etc/vsftpd.conf 
      270 akulov     2148 S   python /tmp/local/sbin/logwaked.py 
      277 akulov      688 S   dropbear -s -p 1325 -b /etc/sshbanner 
      278 akulov      576 S   -sh 
      326 akulov      392 R   ps 
    [akulov@noone-gateway log]$ /opt/etc/init.d/S80lighttpd start
    Starting web server: lighttpd
    [akulov@noone-gateway log]$ ps
      PID  Uid     VmSize Stat Command
        1 akulov      432 S   /sbin/init 
        2 akulov          SW  [keventd]
        3 akulov          SWN [ksoftirqd_CPU0]
        4 akulov          SW  [kswapd]
        5 akulov          SW  [bdflush]
        6 akulov          SW  [kupdated]
        7 akulov          SW  [mtdblockd]
       60 akulov      356 S   httpd vlan1 
       62 akulov      520 S   nas /tmp/nas.lan.conf /tmp/nas.lan.pid lan 
       66 akulov      324 S   klogd 
       68 nobody      428 S   [dnsmasq]
       69 akulov          SW  [khubd]
       78 akulov      276 S   lpd 
       80 akulov      240 S   p9100d -f /dev/usb/lp0 0 
       82 akulov      344 S   rcamdmain 
       86 akulov          SW  [usb-storage-0]
       87 akulov          SW  [scsi_eh_0]
       93 1           340 S   [portmap]
       96 akulov      480 S   /usr/sbin/statd 
       98 akulov          SW  [nfsd]
       99 akulov          SW  [lockd]
      100 akulov          SW  [rpciod]
      102 akulov      344 S   /usr/sbin/mountd 
      126 akulov      312 S   infosvr br0 
      127 akulov      480 S   watchdog 
      131 akulov      344 S   ntp 
      155 akulov      344 S   dropbear -s -p 1325 -b /etc/sshbanner 
      161 akulov      376 S   udhcpc -i vlan1 -p /var/run/udhcpc0.pid -s /tmp/udhcpc 
      162 akulov      624 S   dropbear -s -p 1325 -b /etc/sshbanner 
      163 akulov      540 S   -sh 
      186 akulov          SW  [kjournald]
      188 akulov          SW  [kjournald]
      219 akulov      356 S   /sbin/syslogd -m 0 -O /opt/var/log/syslog.log -S -l 7 -s 0 
      224 akulov      396 S   /opt/sbin/cron 
      237 akulov      900 S   /opt/sbin/sshd 
      252 akulov      368 S   vsftpd /opt/etc/vsftpd.conf 
      270 akulov     2148 S   python /tmp/local/sbin/logwaked.py 
      277 akulov      688 S   dropbear -s -p 1325 -b /etc/sshbanner 
      278 akulov      576 S   -sh 
      332 akulov     1140 S   /opt/sbin/lighttpd -f /opt/etc/lighttpd/lighttpd.conf 
      333 akulov          Z   [php-fcgi]
      334 akulov          Z   [php-fcgi]
      335 akulov          Z   [php-fcgi]
      336 akulov          Z   [php-fcgi]
      337 akulov      392 R   ps 
    [akulov@noone-gateway log]$ /opt/etc/init.d/S80lighttpd stop 
    Stopping web server: lighttpd
    [akulov@noone-gateway log]$ ipkg remove php-gd
    Removing package php-gd from /opt/...
    Successfully terminated.
    [akulov@noone-gateway log]$ /opt/etc/init.d/S80lighttpd start
    Starting web server: lighttpd
    [akulov@noone-gateway log]$ ps
      PID  Uid     VmSize Stat Command
        1 akulov      432 S   /sbin/init 
        2 akulov          SW  [keventd]
        3 akulov          SWN [ksoftirqd_CPU0]
        4 akulov          SW  [kswapd]
        5 akulov          SW  [bdflush]
        6 akulov          SW  [kupdated]
        7 akulov          SW  [mtdblockd]
       60 akulov      356 S   httpd vlan1 
       62 akulov      520 S   nas /tmp/nas.lan.conf /tmp/nas.lan.pid lan 
       66 akulov      324 S   klogd 
       68 nobody      428 S   [dnsmasq]
       69 akulov          SW  [khubd]
       78 akulov      276 S   lpd 
       80 akulov      240 S   p9100d -f /dev/usb/lp0 0 
       82 akulov      344 S   rcamdmain 
       86 akulov          SW  [usb-storage-0]
       87 akulov          SW  [scsi_eh_0]
       93 1           340 S   [portmap]
       96 akulov      480 S   /usr/sbin/statd 
       98 akulov          SW  [nfsd]
       99 akulov          SW  [lockd]
      100 akulov          SW  [rpciod]
      102 akulov      344 S   /usr/sbin/mountd 
      126 akulov      312 S   infosvr br0 
      127 akulov      480 S   watchdog 
      131 akulov      344 S   ntp 
      155 akulov      344 S   dropbear -s -p 1325 -b /etc/sshbanner 
      161 akulov      376 S   udhcpc -i vlan1 -p /var/run/udhcpc0.pid -s /tmp/udhcpc 
      162 akulov      624 S   dropbear -s -p 1325 -b /etc/sshbanner 
      163 akulov      540 S   -sh 
      186 akulov          SW  [kjournald]
      188 akulov          SW  [kjournald]
      219 akulov      356 S   /sbin/syslogd -m 0 -O /opt/var/log/syslog.log -S -l 7 -s 0 
      224 akulov      396 S   /opt/sbin/cron 
      237 akulov      900 S   /opt/sbin/sshd 
      252 akulov      368 S   vsftpd /opt/etc/vsftpd.conf 
      270 akulov     2148 S   python /tmp/local/sbin/logwaked.py 
      277 akulov      688 S   dropbear -s -p 1325 -b /etc/sshbanner 
      278 akulov      576 S   -sh 
      355 akulov     1140 S   /opt/sbin/lighttpd -f /opt/etc/lighttpd/lighttpd.conf 
      356 akulov     4084 S   /opt/bin/php-fcgi 
      357 akulov     4084 S   /opt/bin/php-fcgi 
      358 akulov     4084 S   /opt/bin/php-fcgi 
      359 akulov     4084 S   /opt/bin/php-fcgi 
      360 akulov     4096 S   /opt/bin/php-fcgi 
      361 akulov     4096 S   /opt/bin/php-fcgi 
      362 akulov     4096 S   /opt/bin/php-fcgi 
      363 akulov     4096 S   /opt/bin/php-fcgi 
      364 akulov      392 R   ps 
    [akulov@noone-gateway log]$
    Last edited by andrewak; 10-12-2009 at 09:33. Reason: доп. инфо.

  11. #71

    php-fcgi defunct

    Присоединюсь к теме. php-fcgi. Стоит rtorrent. Поставилась без проблем связка lighttpd + php-fcgi. Установил rtorrent и начался defunct. После любой перезагрузки роутера - вылетает. Лечится - переустановкой, раза с десятого.

  12. #72
    оставлю свои пять копеек. настраивал роутер по "дурак эдишн"

    ставил внстат по инструкции, все нормально заработало ДО "необязательного пункта" - исправление скачка в 4ГБ

    после этого пункта вылезло:

    PHP Code:
    2009-12-20 18:56:37: (mod_fastcgi.c.3311child signaled11 
    2009
    -12-20 18:56:37: (mod_fastcgi.c.3354response not receivedrequest sent849 on socketunix:/tmp/php-fcgi.sock-for /vnstat/index.php?, closing connection 
    вопрос решился откатом данной "коррекции". пока работает

    зы. версии пакетов актуальные из репозитория

  13. #73
    Я что то не пойму куда пропали php пакеты и как теперь установить
    http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/

  14. #74
    Quote Originally Posted by Ynatik View Post
    Я что то не пойму куда пропали php пакеты и как теперь установить
    http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/
    никто не понимает. туда пишите.

  15. #75
    Join Date
    Jan 2010
    Location
    Velikiy Novgorod, Russia
    Posts
    2

    Exclamation ipkg install php-fcgi = server returned error 404: HTTP/1.1 404 Not Found

    Сразу скажу, что в nixах я "чайник" и пользуюсь инструкциями "для дураков".

    Пытаюсь установить поддержку php для httpd (как мне кажется).
    При запуске

    [admin@asus root]$ ipkg install php-fcgi

    Выдается:
    Installing php-fcgi (5.2.11-3) to /opt/...
    Downloading http://ipkg.nslu2-linux.org/feeds/op...1-3_mipsel.ipk
    wget: server returned error 404: HTTP/1.1 404 Not Found
    Nothing to be done
    An error ocurred, return value: 22.
    Collected errors:
    ipkg_download: ERROR: Command failed with return value 1: `wget -q -P /opt/ipkg-nwBWto http://ipkg.nslu2-linux.org/feeds/op...1-3_mipsel.ipk'
    Failed to download php-fcgi. Perhaps you need to run 'ipkg update'?

    я посмотрел, действительно файл http://ipkg.nslu2-linux.org/feeds/op...1-3_mipsel.ipk не существет на сервере.

    Что мне сделать, чтобы все-таки установить поддержку php? Могу я как-то сконфигурить альтернативную ссылку?
    Last edited by mironov.nikita; 01-01-2010 at 18:36.

Page 5 of 8 FirstFirst ... 34567 ... LastLast

Similar Threads

  1. Установка и настройка vnStat + vnStat PHP frontend
    By VoVuX in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 219
    Last Post: 16-10-2015, 13:37
  2. How to execute php scripts ?
    By simistef in forum WL-500gP Q&A
    Replies: 13
    Last Post: 11-03-2008, 09:35
  3. PHP on ASUSWL500-G Premium
    By simistef in forum WL-500gP Q&A
    Replies: 1
    Last Post: 20-02-2008, 18:44
  4. WL-500gP vs WPA не работает.
    By neo in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 2
    Last Post: 03-02-2008, 13:36

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •