PDA

Bekijk de volledige versie : Не работает php-fcgi



Sashunya
25-09-2008, 22:13
Вобщем думаю пора подымать эту тему, т.к. ну не работает нормально данный пакет. Теперь предыстория:
1. Сначала все ставил автоматом отсюда http://wl500g.info/showthread.php?t=15266. Все заработало кроме Php-fcgi ну и соотв. не было ни морды rtorrent ни ADOS.
2. Потом пробовал с нуля без скриптов по инструкциям, которых тут полно. Опять то же самое. Все работает кроме php-fcgi.
3. Далее решил попробовать с установкой скрипта S45php. Опа! Php-fcgi запустился и я даже увидел вебморды и все вроде заработало. Но после очередного ребута, опять Segmentation Fault. Запускалось после наверное 10 ребутов.
4. Что стоит:


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

5. Что обычно выдает lighttpd:
Это когда запускаю через S45php


2008-09-25 21:46:32: (log.c.75) server started
2008-09-25 21:46:50: (mod_fastcgi.c.2784) establishing connection failed: Connection refused socket: tcp:192.168.1.1:1026
2008-09-25 21:46:56: (mod_fastcgi.c.2725) fcgi-server re-enabled: tcp:192.168.1.1:1026

Хотя и так понятно что php-fcgi в памяти нет. (ps axf). Но иногда, все-таки запускается.

Это выдает когда fcgi прописано только в 10-php-fcgi.conf


2008-09-25 22:48:05: (log.c.75) server started
2008-09-25 22:48:50: (mod_fastcgi.c.1743) connect failed: Connection refused on unix:/tmp/php-fcgi.sock-0
2008-09-25 22:48:50: (mod_fastcgi.c.2912) backend died; we'll disable it for 5 seconds and send the request to another backend instead: reconnects: 0 load: 1
2008-09-25 22:48:56: (mod_fastcgi.c.2725) fcgi-server re-enabled: unix:/tmp/php-fcgi.sock-0

примечание: В lighttpd.conf прописано "mod_fastcgi".
Php-fcgi стартует, но с примечанием <defuct>
если убрать "mod_fastcgi" из lighttpd.conf, то тоже стартует, но при обращении (запускаю АДОС), php-fcgi сразу отваливается с логом lighttpd:


2008-09-25 23:18:25: (log.c.75) server started
2008-09-25 23:18:55: (mod_fastcgi.c.1743) connect failed: Connection refused on unix:/tmp/php-fcgi.sock-0
2008-09-25 23:18:55: (mod_fastcgi.c.2912) backend died; we'll disable it for 5 seconds and send the request to another backend instead: reconnects: 0 load: 1
2008-09-25 23:18:55: (mod_fastcgi.c.2680) child signaled: 11
2008-09-25 23:18:55: (mod_fastcgi.c.1029) the fastcgi-backend /opt/bin/php-fcgi failed to start:
2008-09-25 23:18:55: (mod_fastcgi.c.1043) terminated by signal: 11
2008-09-25 23:18:55: (mod_fastcgi.c.1048) to be exact: it segfaulted, crashed, died, ... you get the idea.
2008-09-25 23:18:55: (mod_fastcgi.c.1050) If this is PHP, try removing the bytecode caches for now and try again.
2008-09-25 23:18:55: (mod_fastcgi.c.2715) ERROR: spawning fcgi failed.


На всякий случай, моя секция php-fcgi:


fastcgi.server = ( ".php" =>
( "localhost" =>
( "socket" => "/tmp/php-fcgi.sock",
"bin-path" => "/opt/bin/php-fcgi",
"max-procs" => 1,
"bin-environment" =>
( "PHP_FCGI_CHILDREN" => "2",
"PHP_FCGI_MAX_REQUESTS" => "1000" )
)
)
)


Помогите, плиз, просто уже не знаю что делать, уже все перепробовал.

З.Ы.Тут говорили, что бывает самба мешает (если подключены в винде сетевые диски), так я и самбу вырубал, так и ничего не помогло.
З.Ы.Ы. Да совсем забыл: Роутер WL500GPV1 (1.9.2.7-10). Память:


[admin@HomeRouter root]$ free
total used free shared buffers cached
Mem: 30164 25596 4568 0 2676 13540
-/+ buffers/cache: 9380 20784
Swap: 506008 0 506008

Диски смонтированны так:


[admin@HomeRouter root]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 3072 3072 0 100% /
/dev/root 3072 3072 0 100% /
/dev/discs/disc0/part2
988244 172852 765192 19% /opt
/dev/discs/disc0/part3
75467140 131232 71502400 1% /tmp/mnt/disc0_3

Nebulosa
26-09-2008, 07:30
Бывали такие непонятки с php, виноват оказался сам жесткий диск, вам нужно его проверить утилитой fsck (опции применимые к роутеру к сожалению не подскажу). Затем переставить пакеты php.

Честно говоря, не знаю что внутри S45php и не пользуюсь Lighttpd (использую nginx), php запускаю так:

/opt/bin/spawn-fcgi -f /opt/bin/php-fcgi -a 127.0.0.1 -p 9000 -C 2 -P /opt/var/nginx/log/php.pid -u nobody -g nobody

spawn-fcgi - утилита из состава Lighttpd.

Sashunya
26-09-2008, 10:37
Бывали такие непонятки с php, виноват оказался сам жесткий диск, вам нужно его проверить утилитой fsck (опции применимые к роутеру к сожалению не подскажу). Затем переставить пакеты php.

Честно говоря, не знаю что внутри S45php и не пользуюсь Lighttpd (использую nginx), php запускаю так:

/opt/bin/spawn-fcgi -f /opt/bin/php-fcgi -a 127.0.0.1 -p 9000 -C 2 -P /opt/var/nginx/log/php.pid -u nobody -g nobody

spawn-fcgi - утилита из состава Lighttpd.

Нет не хочет запускаться ни при указании хоста с портом ни при указании сокета. Причем пишет что spawned succsefully: pid xxx

cvsa
26-09-2008, 10:56
Аналогичная проблема, вчера отписывал в теме про АДОС, но здесь ей конечно же более правильное место.
Тоже не стартует php-fcgi, тоже в логах - crashed, died, и ps показывает Z [php-fcgi], зомби в общем.
Что делал:
1) Перешивал роутер (на всякий случай, много экспериментов до этого проводил) вновь на 10-ю прошивку;
2) Освобождал память, убирая ненужные сервисы, дошел до 18 Мб свободной, при этом php-fcgi не стартует, хотя стартовал иногда и при 12 Мб;
3) Переустанавливал php и lighttpd, как через remove/install, так и через -force-reinstall;
4) Рассматривал версию, высказанную одним из форумчан, о нехватке времени для монтирования, добавлял в post-boot sleep 15s, все так же. При этом vsftpd, например, успевает стартовать и со sleep, и без него;
5) lighttpd.conf редактировал двумя способами: а) Как в инструкции, раскомментировал нужные строки (относительно fcgi сервера и другие), закомментировал последнюю строку: "include_shell "cat /opt/etc/lighttpd/conf.d/*.conf""; б) оставлял все по дефолту, т.е. не раскоментировал строки в lighttpd.conf, т.к. по умолчанию с помощью последней строки он подгружает файл 10-php-fcgi.conf из указанной директории /conf.d, а 10-php-fcgi.conf в свою очередь уже содержит практически все необходимые изменения.
6) Проверял диск, e2fsck -p /dev/discs/disc0/part2 (там где /opt, и другие пакеты, соотв.).
7) lighttpd без php-fcgi стартует и работает нормально.
Куда копать дальше, уже просто не знаю :(.

И при этом, после реинсталла пакетов и до первой перезагрузки все работает, что наводит на мысль, что сделано все верно. Но стоит перезагрузиться - и все, php-fcgi стартует раз из десяти.
Что может происходить при перезагрузке такого?
И не связано ли это с изменениями в версиях lighttpd и php? Откуда взялись расхождения с инструкцией? Ведь в моем случае изменения в lighttpd.conf относительно fcgi-server вносить не надо, т.к. они подгружаются автоматом, как писал выше.
У меня установлены:

php -v
PHP 5.2.6 (cli) (built: Aug 25 2008 02:11:37)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
User defined signal 1

php-fcgi -v дает Segmentation fault, но при переустановке до ребута дает то же самое, что и php, только вместо cli - php-fcgi.



ipkg info lighttpd
Package: lighttpd
Version: 1.4.19-5
Depends: pcre, zlib, libstdc++, openssl
Suggests: bzip2, e2fsprogs, libmemcache, libxml2, lua, memcached, sqlite, openldap-libs, mysql
Status: install user installed
Section: net
Architecture: mipsel
maintainer: NSLU2 Linux <nslu2-linux@yahoogroups.com>
MD5Sum: 349ace102116ea7103e241705d8e8dce
Size: 475378
Filename: lighttpd_1.4.19-5_mipsel.ipk
Source: http://www.lighttpd.net/download/lighttpd-1.4.19.tar.bz2
Description: A fast webserver with minimal memory footprint.




ipkg info php-fcgi
Package: php-fcgi
Version: 5.2.6-1
Depends: php (5.2.6), pcre
Status: install user installed
Section: net
Architecture: mipsel
maintainer: NSLU2 Linux <nslu2-linux@yahoogroups.com>
MD5Sum: bd87dbdbc05a384a62979b4f9fcbbadf
Size: 1186846
Filename: php-fcgi_5.2.6-1_mipsel.ipk
Source: http://static.php.net/www.php.net/distributions//php-5.2.6.tar.bz2
Description: The php scripting language, built as an fcgi module

cvsa
26-09-2008, 14:23
У кого работает php-fcgi исправно, скиньте пожалуйста ваши версии php и lighttpd. Хотя бы знать, есть различия в версиях пакетов или нет.
(ipkg info php, ipkg info lighttpd).

vectorm
26-09-2008, 15:42
ipkg info php
Package: php
Version: 5.2.5-1
Depends: bzip2, openssl, zlib, libxml2, libxslt, gdbm, libdb, pcre, cyrus-sasl-libs, openldap-libs
Status: install ok installed
Architecture: mipsel

ipkg info lighttpd
Package: lighttpd
Version: 1.4.18-3
Depends: pcre, zlib, libstdc++
Suggests: bzip2, e2fsprogs, libmemcache, libxml2, lua, memcached, mysql, openssl, sqlite, openldap-libs
Status: install user installed
Architecture: mipsel

ipkg info php-fcgi
Package: php-fcgi
Version: 5.2.5-1
Depends: php (5.2.5), pcre
Status: install user installed
Architecture: mipsel

cvsa
26-09-2008, 15:50
vectorm, спасибо... Версии предыдущие... А в репозитарии уже таких нет. А вы обновиться наверное не хотите :rolleyes:...
Кстати, видел вашу инструкцию на эту тему, вы изменяли именно файл lighttpd.conf? А что делали с файлом 10-php-fcgi.conf, в каталоге conf.d? Или у вас такого не было?..
Потому как, если изменить только те строки, что указаны в вашей инструкции, то при запуске lighttpd ругается на duplicate parameter, т.к. пересекаются настройки lighttpd.conf и /conf.d/10-php-fcgi.conf.

Sashunya
26-09-2008, 18:08
А где можно скачать эти версии пакетов? Если не трудно выложите здесь, плиз. Попробуем, может заработает.

Sashunya
26-09-2008, 18:11
vectorm, спасибо... Версии предыдущие... А в репозитарии уже таких нет. А вы обновиться наверное не хотите :rolleyes:...
Кстати, видел вашу инструкцию на эту тему, вы изменяли именно файл lighttpd.conf? А что делали с файлом 10-php-fcgi.conf, в каталоге conf.d? Или у вас такого не было?..
Потому как, если изменить только те строки, что указаны в вашей инструкции, то при запуске lighttpd ругается на duplicate parameter, т.к. пересекаются настройки lighttpd.conf и /conf.d/10-php-fcgi.conf.

Как я понял, либо нужно указывать php-fcgi в lighttpd.conf, а в 10-php-fcgi.conf убрать либо наоборот. Я все прописывал в 10-php-fcgi.conf (вроде как рекомендуется). Все равно в основном падает с Segmentation Fault, кстати, все-таки со скриптом S45php все-таки запускается чаще.

Nebulosa
26-09-2008, 19:27
ipkg info php
Package: php
Version: 5.2.6-2
Depends: bzip2, openssl, zlib, libxml2, libxslt, gdbm, libdb, pcre, cyrus-sasl-libs, openldap-libs
Status: install user installed
Architecture: mipsel

ipkg info php-fcgi
Package: php-fcgi
Version: 5.2.6-1
Depends: php (5.2.6), pcre
Status: install user installed
Section: net
Architecture: mipsel

ipkg info nginx
Package: nginx
Version: 0.7.17-1
Depends: openssl, pcre, zlib
Status: install user installed
Architecture: mipsel

ipkg update && ipkg upgrade
Nothing to be done
Successfully terminated.



php -v
PHP 5.2.6 (cli) (built: Aug 25 2008 02:11:37)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator

php-fcgi -v
PHP 5.2.6 (cgi-fcgi) (built: May 2 2008 23:25:00)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator

cvsa
26-09-2008, 19:38
Как я понял, либо нужно указывать php-fcgi в lighttpd.conf, а в 10-php-fcgi.conf убрать либо наоборот. Я все прописывал в 10-php-fcgi.conf (вроде как рекомендуется). Все равно в основном падает с Segmentation Fault, кстати, все-таки со скриптом S45php все-таки запускается чаще.

Тоже решил, что разницы особой нет, и оставил по умолчанию - в 10-php-fcgi.conf. Непонятно только, почему во всех инструкциях указано, что надо править lighttpd.conf, если по умолчанию то же самое уже практически готово "из коробки"... Или предыдущие версии конфигурились по-другому...

S45 попробовал пару раз, не заметил особой разницы, может быть просто мало пробовал.

Сейчас добился более менее частого запуска php-fcgi, каким-то довольно странным образом, а именно: если запустить php -v или php-fcgi -v, то выводится Warning: и дальше текст, с указанием что не получилось обработать какую-либо функцию. Так вот, если ругань на openssl и дальше еще что-то, то можно попробовать отключить соответствующий extension в файле php.ini, закомментировав его через ;. После этого попробовать рестартануть lighttpd - вероятность того, что php-fcgi заработает, резко возрастает.
Проблема в том, что ругается каждый раз на разные функции, и приходится изменять php.ini, комментируя то одно, то другое. Довольно бредово, но пока я добился работы именно так... Может и совпадение, но сдается мне, что проблема в php...
Sashunya, а что у вас пишет php -v и php-fcgi -v при неработающем php-fcgi?

P.S. Спасибо указавшим свои версии.

Sashunya
26-09-2008, 19:47
[admin@HomeRouter root]$ php -v
PHP Warning: Invalid access level for xmlwriter_start_pi() - access must be exactly one of public, protected or private in Unknown on line 0
....
и там много чего




[admin@HomeRouter root]$ php-fcgi -v
Segmentation fault


:confused:

Что делать не знаю ((

cvsa
26-09-2008, 19:54
[admin@HomeRouter root]$ php -v
PHP Warning: Invalid access level for xmlwriter_start_pi() - access must be exactly one of public, protected or private in Unknown on line 0
....
и там много чего




[admin@HomeRouter root]$ php-fcgi -v
Segmentation fault


:confused:

Что делать не знаю ((

О, один в один моя картинка :). Пока -v будет выводить ошибки, php-fcgi и не стартанет... Что я делал в таких случаях:
1) Комментировал через ; extension, связанный с xml. Хотя это и не правильно, т.к. многое работать не будет, но с целью теста. После этого /opt/etc/init.d/S80lightpd restart, и снова php -v.
2) Либо: рестартовал lighttpd, до тех пор, пока Warning не начнется на что-нибудь менее важное, openssl например. Тогда комментировал его, и снова рестарт lighttpd.

Если попробовать дать рестарт lighttpd, или перегрузить роутер - текст Warning изменится?

Sashunya
26-09-2008, 20:53
Да текст всегда разный, прада после рестарта, сразу падает в Segmentation Fault. Короче похоже надо откатываться на предыдущие версии, но где скачать и как установить? Вот вопрос.

Оффтопик: Что-то Линкус мне уж больно винду напоминает :D

cvsa
26-09-2008, 21:05
Да текст всегда разный, прада после рестарта, сразу падает в Segmentation Fault. Короче похоже надо откатываться на предыдущие версии, но где скачать и как установить? Вот вопрос.



А манипуляции с комментированием extension в php.ini не помогают?
Проблема странная, итого она возникает из-за того, что php некорректно как-то отрабатывает, сыпет разными Warning'ами, непонятно почему, т.к. то, что не нравилось ему 5 минут назад, после рестарта уже вполне нормально, и не нравится уже что-то другое. Понятия не имею, с какой стороны подойти к проблеме :(.
Но про смену версий не уверен, что поможет.
Nebulosa вон привел свои версии - так они 1-в-1 с нашими... Правда у Nebulosa еще e-Accelerator некий упомянут, но вряд ли это критично...

Может быть у кого-нибудь будут какие-либо идеи?.. :confused:

vectorm
26-09-2008, 21:27
У меня версии старые, поскольку давно настраивал, раз работает - нефиг трогать.
На неделе настраивал человеку приложения, все пакеты ставил новые - все пашет, php-fcgi не отваливается.
ipgk list_installed | grep php
можно увидеть ваши? Может пакет какой недоставлен?
В теме про ADOS я инструкцию нарисовал - гляньте устанавливаемые пакеты и со своими сравните.

Sashunya
26-09-2008, 22:01
А манипуляции с комментированием extension в php.ini не помогают?
Проблема странная, итого она возникает из-за того, что php некорректно как-то отрабатывает, сыпет разными Warning'ами, непонятно почему, т.к. то, что не нравилось ему 5 минут назад, после рестарта уже вполне нормально, и не нравится уже что-то другое. Понятия не имею, с какой стороны подойти к проблеме :(.
Но про смену версий не уверен, что поможет.
Nebulosa вон привел свои версии - так они 1-в-1 с нашими... Правда у Nebulosa еще e-Accelerator некий упомянут, но вряд ли это критично...

Может быть у кого-нибудь будут какие-либо идеи?.. :confused:


с манипуляциями в php.ini никакого результата. Сейчас все переустановил, так вообще перестал запускаться. Раньше хоть варнинги выдавал, а теперь только Segmentation Fault. Такое ощущение, что где-то в логи или им подобные файлы она какие-то флаги ставит, что после этого воббще не работает.

Просьба у кого нормально работает отписаться по поводу не только версий пакетов, а также версии прошивки и собственно какой роутер. И по какой инструкции настраивали, просто я перепробовал все методы, упомянутые на этом форуме, и результата 0. Может быть что-то влияет из настроек веб интерфейса. приведу пример: обычно ВИФИ у меня выключено, а сегодня включил (попросили кое-что перекинуть), так вот php-fcgi запускалось аж 3 РАЗА!!! подряд. Думал слава богу, ан нет, принес роутер домой и опять то же самое.

З.Ы. А вообще было бы вообще супер, если бы кто-нибуть выложил образ рабочего комплекта ADOS, Rtorrent с WEBGUI, и копию flashfs. А мы бы залили и посмотрели бы заработает или нет. Кто-что думает по этому поводу?

Sashunya
26-09-2008, 22:06
все что стоит.

adduser - 1.10.3-1 - a multi-call binary for login and user account administration
bzip2 - 1.0.5-1 - Very high-quality data compression program
coreutils - 6.12-2 - Bunch of heavyweight *nix core utilities
cron - 4.1-7 - Standard vixie cron, with cron.d addition
cyrus-sasl-libs - 2.1.22-2 - Provides client or server side authentication (see RFC 2222).
e2fslibs - 1.41.0-1 - Ext2 Filesystem Libraries
e2fsprogs - 1.41.0-1 - Ext2 Filesystem Utilities
expat - 2.0.1-1 - XML Parser library
fontconfig - 2.5.0-0 - Font configuration library
freetype - 2.3.6-1 - Free truetype library
gawk - 3.1.6-1 - Gnu AWK interpreter
gconv-modules - 2.2.5-7 - Provides gconv modules missing from the firmware. These are used by glibc iconv() implementation.
gdbm - 1.8.3-2 - GNU dbm is a set of database routines that use extensible hashing. It works similar to the standard UNIX dbm routines.
glib - 2.12.13-1 - The GLib library of C routines.
grep - 2.4.2-8 - Global regular expression parser
ipkg-opt - 0.99.163-10 - The Itsy Package Manager
libcurl - 7.19.0-2 - Curl is a command line tool for transferring files with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FI
libdb - 4.2.52-3 - Berkeley DB Libraries
libgd - 2.0.35-2 - An ANSI C library for the dynamic creation of images
libjpeg - 6b-2 - collection of jpeg tools
libpng - 1.2.32-1 - Portable Network Graphics Libraries
libsigc++ - 2.0.18-1 - libsigc++ implements a typesafe callback system for standard C++.
libtorrent - 0.12.2-1 - libtorrent is a BitTorrent library with a focus on high performance and good code.
libuclibc++ - 0.2.2-8 - C++ standard library designed for use in embedded systems
libxml2 - 2.6.32-1 - Libxml2 is the XML C parser and toolkit developed for the Gnome project.
libxslt - 1.1.24-1 - An XML Stylesheet processor based on libxml2
lighttpd - 1.4.19-5 - A fast webserver with minimal memory footprint.
mc - 4.6.1-3 - Midnight Commander File Manager
microperl - 5.8.8-11 - Microperl.
ncurses - 5.6-3 - NCurses libraries
ncursesw - 5.6-2 - NCurses libraries with wide char support.
nginx - 0.7.17-1 - A high perfomance http and reverse proxy server, and IMAP/POP3 proxy server.
openldap-libs - 2.3.43-1 - Open Lightweight Directory Access Protocol
openssl - 0.9.7m-4 - Openssl provides the ssl implementation in libraries libcrypto and libssl, and is needed by many other applications and librari
pcre - 7.8-1 - Perl-compatible regular expression library
php - 5.2.6-2 - The php scripting language
php-fcgi - 5.2.6-1 - The php scripting language, built as an fcgi module
php-gd - 5.2.6-2 - libgd extension for php
procps - 3.2.7-6 - PROCPS System Utilities
readline - 5.2-2 - The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are
rtorrent - 0.8.2-1 - rtorrent is a BitTorrent client for ncurses, using the libtorrent library.
screen - 4.0.3-2 - A screen manager that supports multiple logins on single terminal
slang - 2.1.4-1 - S-Lang is a multi-platform library designed to allow a developer to create robust multi-platform software.
sqlite - 3.6.1-1 - SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine.
tar - 1.20-1 - heavyweight version of the Tape ARchiver
termcap - 1.3.1-2 - Terminal emulation library
uclibc-opt - 0.9.28-13 - micro C library for embedded Linux systems
wget - 1.11.4-1 - A network utility to retrieve files from the Web
which - 2.18-1 - which prints out the full path of the executablesthat bash(1) would execute when the passed program names would have been enter
xmlrpc-c - 1.11.00-3 - A library providing modular implementation of XML-RPC for C and C++.
zlib - 1.2.3-3 - zlib is a library implementing the 'deflate' compression system.


Не стоит



ipkg install php-mbstring
ipkg install perl
ipkg install nano


TO Vectorm. По твоей инструкции ставил, php-fcgi запустился один раз. После ребута (никаких изменений не делал) больше я его не видел ((

З.Ы. часто вываливается вот это User defined signal 1

Mashiro-sama
27-09-2008, 08:50
А в качестве внешнего носителя используется винт или флешка? Когда у меня флешка была, иногда (правда редко) программы тоже с ошибками подобными вылетали. Как заменил на винт - все ок...

Если винт, то возможно ему питания не хватает?

Nebulosa
27-09-2008, 10:11
Мда.. гадание на кофейной гуще, ей богу :)

Я уже говорил что если php вылетает c Segmentation fault - проблема в диске, исполняемый файл php значит битый. Версии сравнили, теперь самое время сравнить контрольную сумму:

md5sum /opt/bin/php* /opt/bin/spawn-fcgi
84f56474441f32c87d8b3fb56712e45d /opt/bin/php
f37e5756d8fa88d16d2a9bf8323f8906 /opt/bin/php-config
4fa6766a460f20734123398c477f7d64 /opt/bin/php-fcgi
808d85c4c7af26ee3cb1413d81473006 /opt/bin/phpize
bf8cbade48ddb5e2abd74279424e376f /opt/bin/spawn-fcgi

Если суммы получились не такие же (версия php должна быть одинакова!)
вот и ответ. spawn-fcgi может отличаться, не помлю из какой версии lighttpd я ее брал.

Далее проясню ситуацию с php.ini и его extensions - чем их меньше, тем лучше, в php.ini я отключил их все (поскольку не пользуюсь их функциями), остались только те которые подгружаются из php.d - eaccelerator.ini, gd.ini, mysql.ini

Про eAccelerator:

ipkg info eaccelerator
Package: eaccelerator
Version: 0.9.5.3-5.2.6-1
Depends: php (>= 5.2.6)
Status: install user installed
Architecture: mipsel

Sashunya
27-09-2008, 12:03
Да контрольные суммы отличаются:



[admin@HomeRouter root]$ md5sum /opt/bin/php* /opt/bin/spawn-fcgi
c0cd288f20cc82700d51e164374b63b3 /opt/bin/php !!!
f37e5756d8fa88d16d2a9bf8323f8906 /opt/bin/php-config
5ecc026778f610e3341b3da48224aed9 /opt/bin/php-fcgi !!!
808d85c4c7af26ee3cb1413d81473006 /opt/bin/phpize
bf8cbade48ddb5e2abd74279424e376f /opt/bin/spawn-fcgi
[admin@HomeRouter root]$

Но не понятно другое, все остальные программы, включая торренты великолепно работают и все качают. Проблема только с php.
У меня стоит винт 80ГБ Samsung в USB кармане с доп. питанием "Cooler master Xcraft IDE", роутер по его поводу никаких ошибок не выдает.

Хорошо у меня еще есть WD Passport 250 ГБ, попробую на нем. Потом отпишусь.

З.Ы. А если я все отключу в php.ini (extensions), то Rtorrent+WebGUI и ADOS будут работать? (ADOS вроде использует sql)

З.Ы.Ы. Еще глупый вопрос: А если тупо скопировать php и php-fcgi скажем с вашего роутера?


Прошло 20 мин.

Что сделал: взял снес пакеты php и php-fcgi. Ребут.
Далее поставил их заново. Скопировал файлы php и php-fcgi на комп.
Ради интереса стартонул php-fcgi. Стартонулось. Правда немного ругнулась. Ладно ребут.
ПОсле ребута естественно уже не работало. Опять скопировал файлы php и php-fcgi на комп. И сравнил файлы только что установленные и файлы после ребута командой FC. ДА! Действительно файлы разные!!! Неужели все-таки HDD? Так почему все остальное работает? Причем проверку файловой системы при старте делаю, вроде должно работать. Вобщем НЕПОНЯТНО (C) А. Ревва ))

Прошло 1 час 30 мин.

Залил все на другой винт WD Passport 250 ГБ, и наблюдаем то же самое. Так что не факт что это из-за винта. Правда у него питание только от УСБ, но его роутер нормально видит и отформатировал все и поставил софт. Так что думаем дальше.

Sashunya
27-09-2008, 15:35
Так. У меня получилось запустить все. Рассказываю:

1. После того как роутер загрузился. Остановить Lighttpd. И убрать из автозагрузки S80lighttpd и S99rtorrent куда-нибуть в /opt.
2. Скопировать /opt/etc/php.ini в куда-нибуть в /opt.
3. Снести пакеты php и php-fcgi:


ipkg remove php -force-depends
ipkg remove php-fcgi

4. Потом ребут.
5. Теперь ставим пакеты заново:


ipkg install /opt/php_5.2.6-2_mipsel.ipk
ipkg install /opt/php-fcgi_5.2.6-1_mipsel.ipk

Примечание, я предварительно стянул их из репозитария.
6.Скопировать php.ini в /opt/etc (в php.ini оставить pdo.so и pso_sqlite.so и убрать sqllite.so)
7.Пробуем стартонуть /opt/S80lighttpd start
8. Смотрим ps -A. Если php-fcgi стартонуло без <defunct> , то все ОК!!!
9. Стартуем /opt/S99rtorrent start.
10. Пробуем грузить веб морды.
11. В АДОС я выбрал базу SQlite 3.

ПРобуйте

Nebulosa
28-09-2008, 19:40
Да контрольные суммы отличаются:
Но не понятно другое, все остальные программы, включая торренты великолепно работают и все качают. Проблема только с php.
У меня стоит винт 80ГБ Samsung в USB кармане с доп. питанием "Cooler master Xcraft IDE", роутер по его поводу никаких ошибок не выдает.

Что сделал: взял снес пакеты php и php-fcgi. Ребут.
Далее поставил их заново. Скопировал файлы php и php-fcgi на комп.
Ради интереса стартонул php-fcgi. Стартонулось. Правда немного ругнулась. Ладно ребут.
ПОсле ребута естественно уже не работало. Опять скопировал файлы php и php-fcgi на комп. И сравнил файлы только что установленные и файлы после ребута командой FC. ДА! Действительно файлы разные!!! Неужели все-таки HDD? Так почему все остальное работает?

Что тут удивительного? Не все же файлы косячатся сразу, у меня тоже все работало, а php вылетало в Segmentation fault (на моем десктопе), после проверки диска и исправлении ошибок и последующей перестановки php все работало как прежде.

Также показателен ваш случай что после ребута php не работает - вы же не делаете предварительное отмонтирование диска перед перезагрузкой? ;) Вот и ответ. Видимо при таком "горячем" отключении файл php и перестает работать (и подозреваю некоторые другие).

Итак, ваш рецепт такой - перед перезагрузкой принудительное отмонтирование /opt + хорошее питание винта. md5 должны совпадать, тут без вариантов. Если не совпадают - виноват винт.

Еще момент такой - в Linux перезагрузки нежелательны, их нужно делать крайне редко (на серверах разве что при обновлении ядра), и все программы сделаны так, что перезагрузка компьютера не нужна. Это в Windows делать необходимо, а среде Linux не появляется дополнительных опций после перезагрузки :rolleyes: остановил демона, запустил, вот и не нужно перезагружать.

При всех моих обновлениях, установках и прочих манипуляциях с роутером (установка вебсервера nginx, 4-х кратное обновление, установка базы mysql, троекратное обновление php с многочисленными настройками стопами и запусками) последний раз он был перезагружен полмесяца назад. В веб-интерфейсе конечно изменения требуют перезагрузки, но если в него не лазить особо...

cvsa
28-09-2008, 20:15
Nebulosa, а мои md5, как я вижу, полностью совпадают с вашими...


md5sum /opt/bin/php*
84f56474441f32c87d8b3fb56712e45d /opt/bin/php
f37e5756d8fa88d16d2a9bf8323f8906 /opt/bin/php-config
6b80e0f8b07b4f0affeeb6b4e3429cce /opt/bin/php-fcgi
808d85c4c7af26ee3cb1413d81473006 /opt/bin/phpize

Однако эффект "раз через раз" имеет место быть :(.
Винт практически исключаю, т.к. он был переставлен из ноутбука, в котором отработал без сбоев, с хорошим smart'ом, с него также запускаются без проблем остальные службы, такие как mysqld, vsftpd, да и сам lighttpd... И перемонтирование в ro прописано в pre-shutdown, и e2fsck прогоняю временами...

vectorm, золотому правилу "работает - не трогай" сам был бы рад следовать :). А не получается пока :(. Вот установленные:


ipkg list_installed | grep php
php - 5.2.6-2 - The php scripting language
php-fcgi - 5.2.6-1 - The php scripting language, built as an fcgi module
php-gd - 5.2.6-2 - libgd extension for php
php-mbstring - 5.2.6-2 - mbstring extension for php

Кстати, снова повторю вопрос - я видел вашу инструкцию на одной из последних страниц темы про АДОС, но у меня все же с ней расхождения. В частности, устанавливая знакомому, вносили ли вы изменения в файл lighttpd.conf? Если да, то должны были, по идее, обязательно закомментировать последнюю строчку этого же файла:

include_shell "cat /opt/etc/lighttpd/conf.d/*.conf", иначе lighttpd при старте ругается... А в инструкции этого не нашел.

Sashunya, как-то мне ваш метод напоминает вариант с переустановкой пакетов, после которой тоже работает какое-то время... Я так понимаю, перегружать роутер вы после всего описанного пробовали, а сколько раз? php-fcgi стартует всегда стабильно?

vectorm
28-09-2008, 20:36
vectorm, золотому правилу "работает - не трогай" сам был бы рад следовать :). А не получается пока :(. Вот установленные:


ipkg list_installed | grep php
php - 5.2.6-2 - The php scripting language
php-fcgi - 5.2.6-1 - The php scripting language, built as an fcgi module
php-gd - 5.2.6-2 - libgd extension for php
php-mbstring - 5.2.6-2 - mbstring extension for php

Кстати, снова повторю вопрос - я видел вашу инструкцию на одной из последних страниц темы про АДОС, но у меня все же с ней расхождения. В частности, устанавливая знакомому, вносили ли вы изменения в файл lighttpd.conf? Если да, то должны были, по идее, обязательно закомментировать последнюю строчку этого же файла:

include_shell "cat /opt/etc/lighttpd/conf.d/*.conf", иначе lighttpd при старте ругается... А в инструкции этого не нашел.

Файлы /opt/etc/lighttpd/conf.d/*.conf появились в 10 прошивке, до нее все изменения нужно было вносить в lighttpd.conf
В 10 например секция fast-scgi не нужна.

UPD: моя инструкция написана именно для 10 прошивки, поэтому там нет ни слова про перенастройку дополнительных секций в lighttpd.conf - все берется из дополнительных файлов.

Sashunya
29-09-2008, 06:50
Также показателен ваш случай что после ребута php не работает - вы же не делаете предварительное отмонтирование диска перед перезагрузкой? ;) Вот и ответ. Видимо при таком "горячем" отключении файл php и перестает работать (и подозреваю некоторые другие).

Да в последней конфигурации не делаю отмонтирование. Но когда проводил эксперименты fstab, там в pre-shutdown отмонтирование делалось, а результат тот же.



Итак, ваш рецепт такой - перед перезагрузкой принудительное отмонтирование /opt + хорошее питание винта. md5 должны совпадать, тут без вариантов. Если не совпадают - виноват винт.

Спасибо пропишу.
Но тогда насчет винта (в моем случае винтов). Я ведь торренты нормально качаю, а там идет проверка/хэширование закачанных или недокачанных файлов, так если бы была проблема в винте я бы не одного торрента не скачал бы.



При всех моих обновлениях, установках и прочих манипуляциях с роутером (установка вебсервера nginx, 4-х кратное обновление, установка базы mysql, троекратное обновление php с многочисленными настройками стопами и запусками) последний раз он был перезагружен полмесяца назад. В веб-интерфейсе конечно изменения требуют перезагрузки, но если в него не лазить особо...

Эх, если бы не вэбморда, у меня проблем вообще никаких не было бы. Но не люблю я консоль.

Sashunya
29-09-2008, 06:57
Nebulosa,
Sashunya, как-то мне ваш метод напоминает вариант с переустановкой пакетов, после которой тоже работает какое-то время... Я так понимаю, перегружать роутер вы после всего описанного пробовали, а сколько раз? php-fcgi стартует всегда стабильно?

Если пакеты ставить перед загрузкой Samba, Lighttpd, Rtorrent то работает ВСЕГДА. Пробовал раз 10. Но не удобно.

Mashiro-sama
29-09-2008, 07:24
Кстати, а процессор случаем не разгоняли? Или на 128м память не перепаивали?

Sashunya
29-09-2008, 08:29
Кстати, а процессор случаем не разгоняли? Или на 128м память не перепаивали?

Нет. Память стандартная 32Мб, проц. без разгона.

cvsa
29-09-2008, 10:41
Файлы /opt/etc/lighttpd/conf.d/*.conf появились в 10 прошивке, до нее все изменения нужно было вносить в lighttpd.conf
В 10 например секция fast-scgi не нужна.

UPD: моя инструкция написана именно для 10 прошивки, поэтому там нет ни слова про перенастройку дополнительных секций в lighttpd.conf - все берется из дополнительных файлов.

Да, т.к. я начал сразу с 10-й прошивки, то путь эволюции упустил :). Тогда только 2 небольших вопроса-комментария по поводу инструкции:

Раскомментируем (удаляем в начале строки #) строки:
"mod_fastcgi",
"mod_scgi",


Имхо mod_fastcgi расскоментировать не надо, т.к. в 10-php-fcgi.conf есть строка:

server.modules += ( "mod_fastcgi" )

А mod_scgi после установки только указанных пакетов в lighttpd.conf (у меня) нет. Предполагаю, что появляется при установке rtorrent либо чего-то аналогичного.

vectorm, не примите за критику, наоборот, большое спасибо за столь подробные инструкции! Просто хочется чтобы они были совсем точные и актуальные :).

Sashunya, честно говоря, так и не понял, за счет чего достигается работоспособность php-fcgi при использовании вашего метода... Сам еще не проверял, т.к. пока нет желания вновь экспериментировать - просто не перегружаю роутер, php-fcgi пока живы, АДОС работает :). Как сломается, буду пробовать. Но я так понял, что суть метода в сохранении php.ini после переустановки пакетов. Странно, что это как-то влияет, ведь если исключить глюки винта, то ничего ему быть не должно...

UPD: Попробовал все же предложенный метод, php-fcgi действительно стартанул, но только до перезагрузки. После перезагрузки какое-то время прожил со статусом D, потом снова стал зомби, и отвалился. Плюс, lighttpd стал делать так:
/opt/etc/init.d/S80lighttpd restart
Stopping web server: lighttpd
Starting web server: lighttpd
Segmentation fault

Думаю, только перенос php.ini не является все же полным решением проблемы...

macek
29-09-2008, 13:00
Сограждане, а удалось ли кому-нибудь прикрутить к php библиотеку gd?
я установил ipkg install php-gd, прописал в php.ini extension=gd.so,
в итоге получаю Internal Server Error 500. Что не так?

cvsa
29-09-2008, 13:12
Мда, чудеса на виражах продолжаются :(.
Снова стал вылетать php-fcgi с Segmentation fault, решил проверить контрольные суммы, и:

md5sum /opt/bin/php*
3c2fd2f39c4d307b06a10eea8874959e /opt/bin/php
f37e5756d8fa88d16d2a9bf8323f8906 /opt/bin/php-config
ec2bae0a8d2d994a04ea0ac35552eb4c /opt/bin/php-fcgi
808d85c4c7af26ee3cb1413d81473006 /opt/bin/phpize

php и php-fcgi не совпадают с теми, что указал Nebulosa и теми, которые были у меня раньше, в тот момент, когда php-fcgi работал.
Получается, что что-то меняется в /opt/bin/php и /opt/bin/php-fcgi, и если изменение произошло, то не работает и вылетает, соотв. Только что может влиять на суммы? Точно не винт, проверил его еще раз на ПК - smart ок, e2fsck ок, все остальные файлы целы. Причем суммы php-config и phpize не изменились. Видимо, и корень проблемы тут. Все работает, когда суммы верны. Осталось понять, чего они меняются у этих 2-х файлов.... Кто-нибудь может предположить?..

macek , а что пишет в лог /opt/var/log/lighttpd/error.log? Вряд ли проблема в gd.so, и кстати, ее прописывать не надо. Посмотрите инструкцию vectorm на последней странице темы ADOS.

UPD: Пляска с md5sum продолжается. Сделал ipkg install php -force-reinstall, далее:


md5sum /opt/bin/php*
84f56474441f32c87d8b3fb56712e45d /opt/bin/php
8c4e431a88dddae5e579c46d14c932ff /opt/bin/php-fcgi


Ради интереса:


cp /opt/bin/php /opt/distr/php
cp /opt/bin/php-fcgi /opt/distr/php-fcgi


и снова проверка:



md5sum /opt/distr/php*
80ac1d5a9e5fa78a2064c7810058514d /opt/distr/php
b5c7bf93064d53d641af2087a1467b0c /opt/distr/php-fcgi

md5sum /opt/bin/php*
84f56474441f32c87d8b3fb56712e45d /opt/bin/php
cd1328f9614d9f123a6598d6537aad66 /opt/bin/php-fcgi


То есть, после копирования: 1) сумма скопированных файлов отличается от суммы оригинальных; 2) Изменилась сумма оригинального php-fcgi.

Что это за бред?.. Ни разу не перегружался, все сделано буквально в течение 2 минут...

Sashunya
29-09-2008, 13:35
У меня ситуация 1 в 1. суммы отличаются при копировании в другое место и без ребута. Кстати, надо проверить как система ведет себя с другими файлами.
Насчет моего метода: я и не говорю, что это панацея, просто непонятно почему это глюки с винтом, а не с софтом. Ведь торренты нормально качает и после перезагрузки файлы не портятся (писал выше). А этот метод, только временное решение, благодаря ему хоть гарантированно (для себя) знаю как поднять ПХП.
Еще: в lighttpd.conf не надо раскоментровать mod-fastcgi. Все прописано в 10-php-fcgi.conf. Вобщем думаю достать еще третий винт для эксперимента, чтобы окончательно удостовериться в том что винт виноват или нет.

macek
29-09-2008, 13:36
macek , а что пишет в лог /opt/var/log/lighttpd/error.log? Вряд ли проблема в gd.so, и кстати, ее прописывать не надо. Посмотрите инструкцию vectorm на последней странице темы ADOS.


Да, спасибо, разобрался.
Прописывать точно не надо. Помог просто рестарт lighttpd.
...Всё больше и больше люблю эту машинку! всё работает из коробки, а не работает как правило только в результате ненужных вмешательств.

cvsa
29-09-2008, 14:01
У меня ситуация 1 в 1. суммы отличаются при копировании в другое место и без ребута. Кстати, надо проверить как система ведет себя с другими файлами.

Только что как раз проверял - с конф.файлами (текстовыми, по сути) и другими бинарниками (who, mcedit, еще 2-3 случайных) - все ок, копирую, переношу туда-сюда - md5 суммы не меняются.
Получается, меняются только php и php-fcgi... Как же так?


Насчет моего метода: я и не говорю, что это панацея, просто непонятно почему это глюки с винтом, а не с софтом. Ведь торренты нормально качает и после перезагрузки файлы не портятся (писал выше). А этот метод, только временное решение, благодаря ему хоть гарантированно (для себя) знаю как поднять ПХП.

Вряд ли глюки с винтом, да... Тоже АДОСом что накачал, то целое лежит, не портится, lighttpd и vsftpd работают исправно.
А метод видимо индивидуален, как мне помогло изменение настроек extension в php.ini, так вам - описанный вами способ. Я пробовал ему следовать, получаю [php-fcgi] [defunct], а раньше было просто [php-fcgi] и статус Z. В общем, надо искать корень зла :).

macek


а не работает как правило только в результате ненужных вмешательств.

Как показывает практика, не всегда, не всегда :(...

Sashunya
29-09-2008, 15:30
А может попробовать поставить все-таки старые пакеты PHP и PHP-FCGI? У кого остались?

Vollsky
29-09-2008, 16:08
Мда, чудеса на виражах продолжаются :(.
Снова стал вылетать php-fcgi с Segmentation fault, решил проверить контрольные суммы, и:.....................
То есть, после копирования: 1) сумма скопированных файлов отличается от суммы оригинальных; 2) Изменилась сумма оригинального php-fcgi.

Что это за бред?.. Ни разу не перегружался, все сделано буквально в течение 2 минут...
Похоже это проблема с HDD. КС не меняются с момента установки:

[admin@WL500 disc0_1]$ md5sum /opt/bin/php* /opt/bin/spawn-fcgi
f8fb6b65f9574a98f0f3f51c8d722b28 /opt/bin/php
1d9e08011d72624bca8cd93e2cb36434 /opt/bin/php-config
4fa6766a460f20734123398c477f7d64 /opt/bin/php-fcgi
808d85c4c7af26ee3cb1413d81473006 /opt/bin/phpize
bf8cbade48ddb5e2abd74279424e376f /opt/bin/spawn-fcgi

Пусть у меня пакеты старые:

[admin@WL500 disc0_1]$ ipkg info lighttpd
Package: lighttpd
Version: 1.4.19-5
Depends: pcre, zlib, libstdc++, openssl
Suggests: bzip2, e2fsprogs, libmemcache, libxml2, lua, memcached, sqlite, openld
ap-libs, mysql
Status: deinstall user installed
Section: net
Architecture: mipsel
maintainer: NSLU2 Linux <nslu2-linux@yahoogroups.com>
MD5Sum: 349ace102116ea7103e241705d8e8dce
Size: 475378
Filename: lighttpd_1.4.19-5_mipsel.ipk
Source: http://www.lighttpd.net/download/lighttpd-1.4.19.tar.bz2
Description: A fast webserver with minimal memory footprint.

Successfully terminated.
[admin@WL500 disc0_1]$ ipkg info php-fcgi
Package: php-fcgi
Version: 5.2.6-1
Depends: php (5.2.6), pcre
Status: deinstall user installed
Section: net
Architecture: mipsel
maintainer: NSLU2 Linux <nslu2-linux@yahoogroups.com>
MD5Sum: bd87dbdbc05a384a62979b4f9fcbbadf
Size: 1186846
Filename: php-fcgi_5.2.6-1_mipsel.ipk
Source: http://static.php.net/www.php.net/distributions//php-5.2.6.tar.bz2
Description: The php scripting language, built as an fcgi module

Successfully terminated.
[admin@WL500 disc0_1]$ ipkg info php
Package: php
Version: 5.2.6-2
Depends: bzip2, openssl, zlib, libxml2, libxslt, gdbm, libdb, pcre, cyrus-sasl-l
ibs, openldap-libs
Status: unknown ok not-installed
Section: net
Architecture: mipsel
maintainer: Josh Parsons <jbparsons@ucdavis.edu>
MD5Sum: c935d9681f7f109c1653cf2b1543b575
Size: 1859957
Filename: php_5.2.6-2_mipsel.ipk
Source: http://static.php.net/www.php.net/distributions//php-5.2.6.tar.bz2
Description: The php scripting language

Package: php
Version: 5.2.6-1
Depends: bzip2, openssl, zlib, libxml2, libxslt, gdbm, libdb, pcre, cyrus-sasl-l
ibs, openldap-libs
Status: install user installed
Architecture: mipsel

Successfully terminated.
Но если дата создания файла не меняется, а меняется КС - это самое вероятное диск.

cvsa
29-09-2008, 16:32
Похоже это проблема с HDD. КС не меняются с момента установки..........
Но если дата создания файла не меняется, а меняется КС - это самое вероятное диск.

Я был бы рад в это поверить, но как быть с тем, что: 1) остальные приложения работают нормально (ADOS, lighttpd, rtorrent, проч); 2) SMART и e2fsck говорят, что с диском все ок; 3) файлы, скачанные адосом и торрентом, целы; 4) копирование файлов php-config, mcedit, lighttpd, любых других бинарников не приводит к искажению их md5. Не может же быть, чтобы портились из-за диска только 2 определенных файла, причем "на лету" - только поставил, а они через 1-2 минуты уже попортились, при этом больше ничего не пострадало. Странная проблема, но все же не думаю на HDD, ибо 2 конкретных "портящихся" файла, и больше никаких проявлений...

Sashunya
30-09-2008, 07:52
Вобщем добавил в pre-shutdown монтирование разделов на чтение, результата 0. Мой метод действительно уже не работает на 100%, вчера 2раза из 5 не запустился. С КС то же самое, отличаются только эти 2. Почему хочется решить эту проблему: вчера вырубили свет и после включения роутер естественно не стартонул нормально.

Vollsky
30-09-2008, 08:59
Я был бы рад в это поверить, но как быть с тем, что: 1) остальные приложения работают нормально (ADOS, lighttpd, rtorrent, проч); 2) SMART и e2fsck говорят, что с диском все ок; 3) файлы, скачанные адосом и торрентом, целы; 4) копирование файлов php-config, mcedit, lighttpd, любых других бинарников не приводит к искажению их md5. Не может же быть, чтобы портились из-за диска только 2 определенных файла, причем "на лету" - только поставил, а они через 1-2 минуты уже попортились, при этом больше ничего не пострадало. Странная проблема, но все же не думаю на HDD, ибо 2 конкретных "портящихся" файла, и больше никаких проявлений...
После обновления пакетов эти файлы пишутся всегда на "старые" треки диска. Как вариант можно попробовать просто переименовать эти файлы оставив их на прежних местах и после произвести новую инсталяцию пакетов. Новая инсталяция пройдет на другое дисковое пространство.Может что даст?:confused:

cvsa
30-09-2008, 10:54
После обновления пакетов эти файлы пишутся всегда на "старые" треки диска. Как вариант можно попробовать просто переименовать эти файлы оставив их на прежних местах и после произвести новую инсталяцию пакетов. Новая инсталяция пройдет на другое дисковое пространство.Может что даст?:confused:

Интересная мысль, попробовал - не помогло :(. Видимо связь между "порчей" только php и php-fcgi все же какая-то есть...

Vollsky
01-10-2008, 18:30
Интересная мысль, попробовал - не помогло :(. Видимо связь между "порчей" только php и php-fcgi все же какая-то есть...
Можно попробовать еще запретить запись в эти файлы root. Но вобще мистика какая-то. Можно попробовать посмотреть КС любых других файлов, но примерно такой же длины около 4мб. Читать КС подряд несколько раз. Мне кажется это просто нестабильное чтение с диска больших файлов. У меня /opt на флешке и нет проблем.

TOYan
01-10-2008, 20:43
У меня была точно такая же проблема с php-fcgi, и я так же долго бился с ней, так и не решив... А потом я воспользовался скриптом для автоматической установки http://www.wl500g.info/showthread.php?p=105203, после чего все прекрасно стало работать. Что там в этом скрипте внутри - разбираться не стал... Правда, одновременно заменил флешку, возможно в ней было дело, не знаю.

Sashunya
02-10-2008, 07:07
У меня так изначально настроено. И как результат не работает 2 пакета. Все основные приложения, а также закачанные фильмы проверял на КС до и после перезагрузки, все совпадает, а эти нет. Мистики тут никакой я думаю нет, проблема явно в этих пакетах, надо попробовать отписаться авторам.

Nebulosa
02-10-2008, 17:51
У меня кстати тоже флешка.

Проверку диска как запускали? fsck опции какие использовали? А именно опцию -f включали?..

TOYan
12-10-2008, 22:43
Проблема действительно касается только этих пакетов, но надо иметь ввиду, что многих этой проблемы нет. Железо отличается? Может NVRAM?
Выше я писал, что у меня заработало после автоматического скрипта. Я намеренно тестировал работоспособность серией ребутов командой reboot, и все действительно работало после каждой перезагрузки. А потом был отруб питания, после которого вернулось segmentation fault... Похоже, сбой с этими пакетами происходит в момент shutdown. У меня в pre-shutdown прописана только команда swapoff... Надо придумать, что туда еще прописать, но я в линюксе не гуру...

Sashunya
13-10-2008, 09:44
В принципе на данный момент проблема решилась все-таки переустановкой пакетов при загрузке lighttpd. Но что еще замечено, я разогнал процессор до 300 Мгц, так вот то что скорость закачек и копирования поднялась это понятно, но то что если при 264 Мгц php-fcgi стартовал 8 из 10 раз, то сейчас 10 из 10!

vectorm
13-10-2008, 12:37
В принципе на данный момент проблема решилась все-таки переустановкой пакетов при загрузке lighttpd. Но что еще замечено, я разогнал процессор до 300 Мгц, так вот то что скорость закачек и копирования поднялась это понятно, но то что если при 264 Мгц php-fcgi стартовал 8 из 10 раз, то сейчас 10 из 10!
У меня с самого начала разогнанный, ни разу php-fcgi не падал, на при отрубе lighttpd, ни при падении rtorrent.

TOYan
14-10-2008, 07:00
Написал скрипт для автоматической переустановки php и php-fcgi.
Самое интересное, что если запускать скрипт руками через telnet, то php начинает работать нормально (до следующей перезагрузки), а если вызов этого скрипта вставить в конце post-mount, то php продолжает глючить, по-прежнему на 'php -v' выдает segmentation fault, и соответственно ничего не работает. В post-mount, перед вызовом скрипта, пробовал ставить sleep 15, не помогает... Как это дело автоматизировать, есть идеи?
Проц разогнал, как тут советовали, но и это не повлияло никоим образом.

Sashunya
14-10-2008, 13:22
Написал скрипт для автоматической переустановки php и php-fcgi.
Самое интересное, что если запускать скрипт руками через telnet, то php начинает работать нормально (до следующей перезагрузки), а если вызов этого скрипта вставить в конце post-mount, то php продолжает глючить, по-прежнему на 'php -v' выдает segmentation fault, и соответственно ничего не работает. В post-mount, перед вызовом скрипта, пробовал ставить sleep 15, не помогает... Как это дело автоматизировать, есть идеи?
Проц разогнал, как тут советовали, но и это не повлияло никоим образом.

Я создал отдельную тему по этому поводу, так что пиши туда (http://wl500g.info/showthread.php?t=16270&highlight=php-fcgi), но ответов пока нет ((

Sashunya
26-10-2008, 18:32
После долгих экспериментов было принято решение перенести весь софт с ХДД на флэшку, а ХДД оставить только для закачек. Так вот после того как я все залил в /opt флэшки и запустил lighttppd, то увидел до боли знакомый php-fcgi <defunct>. Так вот теперь на 100% подтверждаю, что проблема или с роутером (прошивка на предыдущие версии не помогла) или с этими пакетами. На данный момент работосопосбность полностью восстановлена с переустановкой пакетов из post-mount.

vectorm
04-11-2008, 18:58
Итак, я тоже был некоторое время "счастливым" обладателем дефункта и сегментайшн фолта. Причем глобального - упал и php-fcgi и половина софта, даже mc.
Грешу на WinSCP - 1 раз срочно пришлось слазить за нужным файликом.
Попытки перестановки с форс_депендс не помогали, каждый раз ругалось на новые пакеты.
Благо подумывал о переезде на другого провайдера, поэтому не парился особо, взял другой роутер и потихоньку настраивал его с новой чешской прошивкой.
В выходные очередной раз поковырялся с "инвалидом" и зарядил ему ipkg upgrade напоследок. Полчаса ожидания и практически все восстановилось!
Оставшиеся глюки добил удалением/установкой заново битых пакетов с зависимостями. В результате получил полное восстановление работоспособности, только некоторые конфиги на место вернул после апгрейда пакетов. И для полного счастья зафигарил чешскую прошивку - подумываю подцепить бекапом Скайлинковский модем.

Итог - на данный момент имею уже полтора дня полностью работающий роутер со всеми обновлениями и пропажу всех глюков.

Sashunya
17-12-2008, 19:30
Итак, попросили меня настроить роутер WL500GPV1 для торрентов. Люди купили точно такую же флешку и точно такой же карман как у меня (ну и роутер соответственно). Так вот, ставлю все это дело я и вижу, что php-fcgi работает нормально :eek: (у меня ведь работает с проблемами, описанными выше).
Роутеры абсолютно одинаковые, флэшки с свапом и смонтированными в /opt абослютно одинаковы (Transcend JV85 2GB). Php-fcgi последний из репозитария.

Чудеса продолжаются. :D

slody
08-01-2009, 13:08
Всем привет, нашел решение для себя, и так:

WL500GPv1

проблема была аналогичная тут описанным, то стартовало, то нет. сделал следующее

mod_fastcgi в lighttpd.conf закоментирован,
прописан в отдельном файле conf.d/10-php-fcgi.conf
но немного в измененном виде:



server.modules += ( "mod_fastcgi" )
fastcgi.server = ( ".php" =>
( "localhost" =>
(
"socket" => "/tmp/php-fcgi.sock",
# "bin-path" => "/opt/bin/php-fcgi",
"max-procs" => 1,
"bin-environment" =>
( "PHP_FCGI_CHILDREN" => "2",
"PHP_FCGI_MAX_REQUESTS" => "1000" )
)
)
)

конкретнее я закоментил ему тут запуск бинарника.

а сам бинарник стартую из своих стартап скриптов - командой /opt/bin/php-fcgi -b /tmp/php-fcgi.sock -c /opt/etc/php.ini
в результате:


172 lalala 3336 S /opt/bin/php-fcgi -b /tmp/php-fcgi.sock -c /opt/etc/php.ini

и вроде все работает нормально. если упадет - дам знать

slody
09-01-2009, 12:53
ээээх))) на утро (после ночи выключенного состояния)
он меня таки удивил - сегментатион фэйл.

флешка трансценд на 8 гб.

Sashunya
10-01-2009, 10:52
Значитца так. После очередного долгого глумления теперь уже над 2-мя роутерами (как говорил, железо все одинаковое), я, кажется, нашел причину всего этого безобразия, а именно, оба роутера нормально работают (всмысле php-fcgi) если тип соедиенения с провом указан на Static IP или Automatic IP. Как только ставлю ВПН (PPTP), сразу все начинает слетать. Причем когда на одном роутере стоял ВПН, то на нем часто падал рторрент при, например, падении ВПН соедиенения, а на другом automatic, то там даже при ручном отключении никаких траблов не замечено.

Похоже глюк прошивики (последней)? Что народ думает?

TOYan
09-02-2009, 22:40
Блин, замучала уже эта проблема. Был кратковременный отруб питания в мое отсутствие, прихожу через 2 суток - опять висит этот php-fcgi <defunct> :mad:
Пришла в голову идея: запаковал эти 2 файла пакером бинарников upx - не помогло. Запускаются. Причем, md5 суммы у файлов перестают меняться. Но в итоге не работают - <defunct> в 100%. Может развить эту идею как-нибудь?
Пока просто распаковываю при каждой загрузке php и php-fcgi этим же пакером из post-mount, но помогает не всегда - все равно php запускается через раз.
Написал вот скрипт php-test и вставил в конце post-mount. Он делает до 10 попыток перезапустить php. Изврат конечно, но как по-другому?


#!/bin/sh
i=1
while [ $i -le 10 ]; do
phpstat="OK"
if ! ps -A | grep php-fcgi > /dev/null ; then
phpstat="process absent"
else
if ps -C php-fcgi | grep defunct > /dev/null ; then
phpstat="process defunct"
fi
fi
echo "php-test: php-fcgi $phpstat"
if echo $phpstat | grep OK > /dev/null ; then
break
else
echo "php-test: attempt to reinstall $i"
/opt/etc/init.d/S80lighttpd stop
wait
/opt/bin/php-reinstall
wait
/opt/etc/init.d/S80lighttpd start
fi
sleep 10
i=`expr $i + 1`
done
[ $i -eq 11 ] && echo "php-test: failed to start php in $i attempts" ; exit 1
exit 0

В никсах новичек, на красоту не претендую.
Там вызывается скрипт php-reinstall, в нем делается обычная распаковка тем же upx-пакером поверх этих двух проблемных файлов. Причем пробовал сначала просто копировать из другого места, но, как тут уже писали, при копировании у них изменяется контрольная сумма. И еще она меняется после запуска этих файлов. Даже несмотря на атрибут рид-онли. А при распаковке, блин, не меняется... Бред.
Может кто-нибудь из гуру возьмется помочь по-серьезному?
Существуют же методы- трассировщики, отладчики там всякие...
Бага же очевидная, и нас таких уже целая ветка :).

Sashunya
10-02-2009, 07:26
Я думаю проще будет если скачать два пакета php и php-fcgi из репозитария и положить их на флэшку, например. И при каждой загрузке ставить эти пакеты локально, у меня работает 100%. Единственное, что загрузка роутера происходит около 2-х минут.

TOYan
10-02-2009, 08:55
Дык я так и делал, потом еще упростил: вместо полной переустановки пакетов с флешки, распаковываю с флешки-же только php и php-fcgi. Ведь с остальными файлами из пакетов (библиотеки, скрипты, конфиги) проблем нет. Загрузка ускорилась. md5 суммы этих файлов сразу после распаковки нормальные. Но php нормально запускается все равно через раз. И после первого запуска эти файлы портятся, блин, соответственно попытки перезапустить php имеют смысл только после очередной переустановки.

TOYan
12-02-2009, 11:56
Продолжаю борьбу.
Попробовал другие прошивки: 7d, которую развивают здесь (http://wl500g.info/showthread.php?t=17136) и новомодную чешскую (http://wl500g.info/showthread.php?t=16556&highlight=%F7%E5%F8%F1%EA%E0%FF).
В обеих php по-прежнему не фунционирует. :confused: Все тоже самое: php <defunct>, самопроизвольно меняются md5-суммы бинарников и т.д.
Почему никто не откликается на крики о помощи?
ЛЮДИ!!! ПОМОГИТЕ!!!

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

Все файлы в аттаче. Файлы пакетов скачать можно из репозитария или тут (http://depositfiles.com/files/rcwzsoiof).

Использование:
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 в переменные, пример:


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 возникает не из-за дисковой системы.

TOYan
16-02-2009, 11:30
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, то он почему-то не работает. Если кто может подсказать, в чем косяк - буду благодарен.

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

Sashunya
16-02-2009, 18:02
Sashunya, поскольку нас, борцов с php не так много - ты, я и еще пара-тройка несчастных, пора сделать вывод: в наших аппаратах битая память, причем в той области, которую не может протестировать memtest. Полагаю, что магическое влияние этой

А как протестировать память?



Теперь по скрипту: тебе простая переустановка php при загрузке помогает в 100%?

Да. Раз 20 запускал при различных условиях (даже тупо питание отключал роутера).



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

Тут не помогу, т.к. предыдущий скрипт, был первый, кот.я написал :), знаний еще недостаточно.

TOYan
16-02-2009, 19:30
А как протестировать память?

ipkg install memtester
Только писали, что он способен протестировать только 16 мб из 32. У меня проходит без проблем. Прогонишь - напиши здесь о своих результатах.

TOYan
17-02-2009, 09:27
Поделюсь с коллегами-обладателями таких же глючных аппаратов как у меня своим, похоже уже финальным заключением, к которому я пришел в результате всей этой борьбы с 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, но он тестирует только половину памяти, как мне добраться до второй половины?
И еще я хочу пойти в сервис-центр с целью обмена/ремонта, но мне нужно будет как-то доказать инженеру по гарантии наличие проблемы в аппарате. А в заводской асусовской прошивке, которую я верну перед походом нет возможности даже телнетом зайти в аппарат. Как быть?
Подсмотрел тут одну рекомендацию- перед походом в сервис-центр дать команду
/sbin/erase /dev/mtd0 Но что-то мне кажется, что это не наш метод. Ну заменят они мне загрузчик, зальют прошивку и вернут аппарат. Кто там будет разбираться с тонкостями типа глюков с php-fcgi?

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

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

alex7912
14-05-2009, 08:30
так чем все закончилось? Решили проблнему?

andrewak
09-12-2009, 12:35
Вобщем думаю пора подымать эту тему, т.к. ну не работает нормально данный пакет. Теперь предыстория:
1. Сначала все ставил автоматом отсюда http://wl500g.info/showthread.php?t=15266. Все заработало кроме Php-fcgi ну и соотв. не было ни морды rtorrent ни ADOS.
2. Потом пробовал с нуля без скриптов по инструкциям, которых тут полно. Опять то же самое. Все работает кроме php-fcgi.
3. Далее решил попробовать с установкой скрипта S45php. Опа! Php-fcgi запустился и я даже увидел вебморды и все вроде заработало. Но после очередного ребута, опять Segmentation Fault. Запускалось после наверное 10 ребутов.
4. Что стоит:


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:


[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]$

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

VictorK
20-12-2009, 17:58
оставлю свои пять копеек. настраивал роутер по "дурак эдишн" (http://wl500g.info/showthread.php?t=18096) :)

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

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



2009-12-20 18:56:37: (mod_fastcgi.c.3311) child signaled: 11
2009-12-20 18:56:37: (mod_fastcgi.c.3354) response not received, request sent: 849 on socket: unix:/tmp/php-fcgi.sock-0 for /vnstat/index.php?, closing connection


вопрос решился откатом данной "коррекции". пока работает

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

Ynatik
01-01-2010, 01:20
Я что то не пойму куда пропали php пакеты и как теперь установить :confused:
http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/

Pablo Escobar
01-01-2010, 13:46
Я что то не пойму куда пропали php пакеты и как теперь установить :confused:
http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/

никто не понимает. туда пишите.

mironov.nikita
01-01-2010, 19:32
Сразу скажу, что в 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/optware/oleg/cross/stable/php-fcgi_5.2.11-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/optware/oleg/cross/stable/php-fcgi_5.2.11-3_mipsel.ipk'
Failed to download php-fcgi. Perhaps you need to run 'ipkg update'?

я посмотрел, действительно файл http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/php-fcgi_5.2.11-3_mipsel.ipk не существет на сервере. :mad:

Что мне сделать, чтобы все-таки установить поддержку php? Могу я как-то сконфигурить альтернативную ссылку?

PhYziCi@N
01-01-2010, 20:24
Всё с php понятно:

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

Блин, просто нет пакетов php в репозитарии....

al37919
01-01-2010, 21:20
был тут где-то товарищ, который поддерживал репозиторий старых optware пакетов. Пока основную ветку optware не починят можно было бы ставить пакеты оттуда. Осталось только напрячься и найти где он адресок оставлял. Как минимум, точно на этом форуме ;)

futura
01-01-2010, 21:57
да вроде уже починили все :)
php, php-fcgi, php-gd еще и обновились на новые версии

valerakvb
02-01-2010, 00:07
Обновился

ipkg update
ipkg upgrade
до версий:

php-fcgi - 5.2.12-1 - The php scripting language, built as an fcgi module
php-gd - 5.2.12-1 - libgd extension for php
php-mbstring - 5.2.12-1 - mbstring extension for php
eaccelerator - 0.9.5.3-5.2.12-1 - Yet another php cache / accelerator
ВСЁ работает !!! :D

С НОВЫМ 2010 ГОДОМ !!!

filichev
04-01-2010, 00:10
Обновился
ВСЁ работает !!! :D
С НОВЫМ 2010 ГОДОМ !!!

Это вы оптимистично... Итог обновления - вот уже четыре часа имею картину ниже:

Оно конечно и раньше валилось через раз, но теперь вообще не поднимается.
3.14ц какой-то, выброшу роутер, поставлю машину на мини-ITX. Достал.

[dima@WL-001731EDCFDD root]$ php-fcgi
Segmentation fault

[dima@WL-001731EDCFDD root]$ php -v
PHP Warning: Invalid access level for filter_input() - access must be exactly one of public, protected or private in Unknown on line 0
PHP Warning: Invalid access level for xmlwriter_flush() - access must be exactly one of public, protected or private in Unknown on line 0
PHP Warning: Invalid access level for ReflectionFunctionAbstract::getNumberOfRequiredPar ameters() - access must be exactly one of public, protected or private in Unknown on line 0

valerakvb
04-01-2010, 00:58
Это вы оптимистично... Итог обновления - вот уже четыре часа имею картину ниже:

Оно конечно и раньше валилось через раз, но теперь вообще не поднимается.
3.14ц какой-то, выброшу роутер, поставлю машину на мини-ITX. Достал.

[dima@WL-001731EDCFDD root]$ php-fcgi
Segmentation fault

[dima@WL-001731EDCFDD root]$ php -v
PHP Warning: Invalid access level for filter_input() - access must be exactly one of public, protected or private in Unknown on line 0
PHP Warning: Invalid access level for xmlwriter_flush() - access must be exactly one of public, protected or private in Unknown on line 0
PHP Warning: Invalid access level for ReflectionFunctionAbstract::getNumberOfRequiredPar ameters() - access must be exactly one of public, protected or private in Unknown on line 0

Так ставьте отсюда (http://wl500g.info/showthread.php?t=21889) и не парьтесь :D

filichev
04-01-2010, 09:45
Э, что именно "отсюда" ? Установочный скрипт, но зачем ?

php - 5.2.12-1 - The php scripting language
php-fcgi - 5.2.12-1 - The php scripting language, built as an fcgi module
php-gd - 5.2.12-1 - libgd extension for php
php-mbstring - 5.2.12-1 - mbstring extension for php

именно это и валится. И не факт, что при изменении неких условий, тоже самое не произойдет у вас.

valerakvb
04-01-2010, 10:07
Э, что именно "отсюда" ? Установочный скрипт, но зачем ?

php - 5.2.12-1 - The php scripting language
php-fcgi - 5.2.12-1 - The php scripting language, built as an fcgi module
php-gd - 5.2.12-1 - libgd extension for php
php-mbstring - 5.2.12-1 - mbstring extension for php

именно это и валится. И не факт, что при изменении неких условий, тоже самое не произойдет у вас.

[^] Check of your HDD-USB disk on errors

filichev
04-01-2010, 10:16
[^] Check of your HDD-USB disk on errors

Это мы опять по-кругу...

filichev
04-01-2010, 15:29
именно это и валится. И не факт, что при изменении неких условий, тоже самое не произойдет у вас.

Нашел костыль - отложенный с момента загрузки на 3 минуты (т.е. после всего и еще с запасом!) запуск S80lighttpd нормально стартует демон и далее поднимает php-fcgi.

Имеется ввиду фоновое ожидание аля echo "S80lighttpd start" |at now+3 minutes &, а не просто sleep в init.d

Это не с диском у всех проблемы, fastcgi похоже течет как решето

Messiah
16-01-2010, 12:29
Нашел костыль - отложенный с момента загрузки на 3 минуты (т.е. после всего и еще с запасом!) запуск S80lighttpd нормально стартует демон и далее поднимает php-fcgi.
Имеется ввиду фоновое ожидание аля echo "S80lighttpd start" |at now+3 minutes &, а не просто sleep в init.d
Это не с диском у всех проблемы, fastcgi похоже течет как решето

Можно отсюда подробнее, что и как надо сделать?

b0ob1ik
12-05-2010, 15:05
filichev Уважаемый, можно поподробнее? Люди всё еще страдают... :(

ghost_ufa
04-10-2010, 06:30
При попытке поставить lighttpd с PHP все вроде как поднялось, однако любое обращение к .php файлам дает 404 ошибку. Файл ессно есть. В логах пусто. Раскопки привели к следующему:

вывод strace php-fcgi -b 1026

open("/opt/mnt/disk1/www/phpinfo.php", O_RDONLY) = 5
ioctl(5, TIOCNXCL, 0x7fff5650) = -1 ENOTTY (Inappropriate ioctl for device)
brk(0x88a000) = 0x88a000
fstat(5, {st_mode=S_IFREG|0755, st_size=18, ...}) = 0
close(5) = 0


PHP пробовал и из пакетов, и самосборный. Собраные с той же конфигурацией PHP и lighttpd на нормальном компе работают.

Ну и традиционный русский вопрос - кто виноват и что делать?

mapkyl
01-01-2011, 06:42
есть ли какие изменения за прошедшее время?

php и php-fcgi 5.2.16-1

$ php -v
Illegal instruction

Пробовал на wl500gV2 и rt-n16 (диск между ними переставлял). Эффект одинаковый, вряд ли это память.

Переустановка пакетов и попытки запуска до ребута картину не меняют.
Кстати, php работало нормально до обновления на последнюю версию где-то в 20-х числах декабря.

откатился на php 5.2.14-1 и все заработало. Чудеса.

tigos
06-01-2011, 01:54
Перелистал весь форум, но ничего подобного не нашёл.

########## добавлено #############
Во время установки пакаджа система внезапно переходит в режим readonly

Дело в том, что это - не самая первая установка на этот роутер.
Предыдущая закончилась более чем успешно, но не работало обновление статистики
(возможно было что-то не то с CRON)
После чего я сделал сброс роутеру, отформатировал в инде флешку (4Гб, какая-то скоростная),
и дальше пошёл по списку из [Durak Edition].

Есдинственно, SWAP сделал не 512 Мб, а 200, и EXT3 раздел всего на 300 метров (но он заполнен
на данный момент, едва на 14%)
Остальное место я планировал отформатировать в NTFS формат и маунтить при помощи NTFS-3G для торрентов
(Чтобы флешку можно было свободно втыкать в виндовый комп, и всё оттуда/туда переносить)

Уже сделал наверное раз 20 переустановку, теперь она всегда доходить лишь до этого момента.
Конечно спасибо админу, за перенос в эту тему, но проблема и с установкой других больших пакаджей.

########## добавлено #############

Пытаюсь установить всё по этой схеме:
ipkg install lighttpd - установился на ура.
а следующий за ним php-fcgi

http://wl500g.info/showpost.php?p=128994&postcount=6

До ЭТОГО сообщения всё шло как надо, т.е. выполнил все пункты [Durak Edition], начиная с первого сообщения, по-очереди.



df -P
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/root 3072 3072 0 100% /
tmpfs 15024 208 14816 1% /tmp
/dev/scsi/host0/bus0/target0/lun0/part2
305238 39811 249667 14% /opt




ipkg install php-fcgi
Installing php-fcgi (5.2.16-1) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/php-fcgi_5.2.16-1_mipsel.ipk
Installing php (5.2.16-1) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/php_5.2.16-1_mipsel.ipk
Installing libxml2 (2.7.8-1) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/libxml2_2.7.8-1_mipsel.ipk
Installing libxslt (1.1.26-2) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/libxslt_1.1.26-2_mipsel.ipk
Installing gdbm (1.8.3-2) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/gdbm_1.8.3-2_mipsel.ipk
Installing libdb (4.2.52-3) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/libdb_4.2.52-3_mipsel.ipk
Installing cyrus-sasl-libs (2.1.23-2) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/cyrus-sasl-libs_2.1.23-2_mipsel.ipk
wget: can't open '/opt/ipkg-0EbTti/cyrus-sasl-libs_2.1.23-2_mipsel.ipk': Read-only file system
Configuring gdbm
Configuring libdb
Configuring libxml2
Configuring libxslt
Configuring php
ipkg_conf_write_status_files: Can't open status file: //opt/lib/ipkg/status for writing: Read-only file system
pkg_write_filelist pkg=gdbm returned 30
pkg_write_filelist pkg=libdb returned 30
pkg_write_filelist pkg=libxml2 returned 30
pkg_write_filelist pkg=libxslt returned 30
pkg_write_filelist pkg=php returned 30
An error ocurred, return value: 22.
Collected errors:
Could not open //opt/lib/ipkg/info/libdb.list for writing: Read-only file system
ipkg_download: ERROR: Command failed with return value 1: `wget -q -P /opt/ipkg-0EbTti http://ipkg.nslu2-linux.org/feeds/optware/ol'
Failed to download cyrus-sasl-libs. Perhaps you need to run 'ipkg update'?
Could not open //opt/lib/ipkg/info/gdbm.list for writing: Read-only file system
Could not open //opt/lib/ipkg/info/libdb.list for writing: Read-only file system
Could not open //opt/lib/ipkg/info/libxml2.list for writing: Read-only file system
Could not open //opt/lib/ipkg/info/libxslt.list for writing: Read-only file system
Could not open //opt/lib/ipkg/info/php.list for writing: Read-only file system
WARNING: Unable to remove temporary directory: /opt/ipkg-0EbTti: Read-only file system




Подскажите что я тут не написал, чтобы было возможно понять мою проблему.
Никаких аппаратных переделок, действую впервые.

Цель - в итоге сделать торрент клиент + SAMBA.
Как опция - видеть кто из пользователей (по МАС) сколько качает.

orion
28-01-2011, 02:13
rtfm http://redmine.lighttpd.net/wiki/lighttpd/Docs:ModAuth#id3 конфиг SSL ?


When completed, enable the authentication configuration module. The way to enable the module varies from different distributions.

Limitations
The implementation of digest method is currently not completely compliant with the standard as it still allows a replay attack. (i.e. not secure)
LDAP authentication only allows alphanumeric uid's that do not contain punctuations. i.e.) john.doe will come up as "ldap: invalid character
(a-zA-Z0-9 allowed) in username: john.doe" There seems to be no reasonable logging of failed login attempts yet
As of 1.4.19 the group field inside the require directive is not yet implemented. So auth.backend.plain.groupfile is of no use at this moment.
When loaded together with mod_fastcgi, mod_auth must be loaded before mod_fastcgi. Or else users will experience
long delays when login in and sysadmins will probably not find out the source of the problem due to the lack of meaningful error messages.

haccker
11-04-2011, 21:01
Может кому-то поможет.

Если вы получаете в списке процессов \_ [php-fcgi] <defunct>, то это могут быть результаты экспериментов с MySQL, надо убрать mysql.ini с папки /opt/etc/php.d или исправить ошибки.

cholv
11-09-2011, 11:59
Была такая проблема. php-fcgi -v показал, что не хватает двух пакетов. Установил php-curl и php-mbstring. Все заработало.

Astrden
09-10-2011, 17:04
Привет, ребят. Я пишу всякие скрипты для php, и в этот раз мне понадобились curl и mbstring, но в стандартной связке lighttpd и php-fcgi их нету. Скажите, как их поставить?

don-pedro
10-10-2011, 09:08
Привет, ребят. Я пишу всякие скрипты для php, и в этот раз мне понадобились curl и mbstring, но в стандартной связке lighttpd и php-fcgi их нету. Скажите, как их поставить?


ipkg install php-curl
ipkg install php-mbstring

не?

Astrden
10-10-2011, 11:18
ipkg install php-curl
ipkg install php-mbstring

не?
В том то и дело, что не работает так.

VA_DOS
10-10-2011, 19:27
а если перед этими командами сначала выполнить:

ipkg update
?

Ну, и, конечно же, лог ошибок в студию. Без него Вам никто не сможет помочь.

_Alexander_
18-04-2012, 12:35
Поставил вебCMC Sawanna 3.4.0 все работает кроме вставки изображений
в тех поддержка саваны говорят что PHP должен быть не ниже 5.4
У меня все установлено валериным скриптом в нем PHP Version 5.2.17
Как установить более новую и где ее взять?

dimez
18-04-2012, 13:14
Поставил вебCMC Sawanna 3.4.0 все работает кроме вставки изображений
в тех поддержка саваны говорят что PHP должен быть не ниже 5.4
У меня все установлено валериным скриптом в нем PHP Version 5.2.17
Как установить более новую и где ее взять?
"не ниже 5.4" - это весело. Из 5.4 ветки зарелизился только 5.4.0, довольно сырая и глючноватая версия.
Софт, требующий наиновейших версий другого софта - это плохой показатель.

_Alexander_
18-04-2012, 15:01
"не ниже 5.4" - это весело. Из 5.4 ветки зарелизился только 5.4.0, довольно сырая и глючноватая версия.
Софт, требующий наиновейших версий другого софта - это плохой показатель.

Я перепутал 5.3...
У производителя все в порядке, скорее это в скрипте ошибки. Такая ошибка только у тех кто устанавливал скриптом. Еще сайт через PHP не шлет письма...

_Alexander_
22-04-2012, 19:48
Так что, не кто не собрал пакет выше чем PHP Version 5.2.17 для наших машинок?

desper
25-07-2012, 18:02
У кого-нибудь получилось завести nginx совместно с php?

Наверное, уже все перепробовал, всегда получаю "No input file specified."

MercuryV
25-07-2012, 21:23
У кого-нибудь получилось завести nginx совместно с php?

Наверное, уже все перепробовал, всегда получаю "No input file specified."
У меня получилось (http://ascii.io/a/665).

ryzhov_al
26-07-2012, 06:29
Так что, не кто не собрал пакет выше чем PHP Version 5.2.17 для наших машинок?В транке OpenWRT сегодня обновили (https://dev.openwrt.org/changeset/328722) php до 5.4.5, поэтому появление его в нашем репозитории в начале следующего месяца просто неизбежно:)

desper
26-07-2012, 20:46
У меня получилось (http://ascii.io/a/665).

Спасибо!
я не закомментировал строку


fastcgi_param SCRIPT_NAME $fastcgi_script_name;

вот и не взлетало...

MercuryV
26-07-2012, 22:36
Открытый вопрос.
параметр в конфиге nginx для fastcgi
fastcgi_param SCRIPT_NAME
был унаследован из OpenWRT, а там пакет nginx, мягко говоря, не в лучшем виде.
Этот параметр в каких случаях может быть необходим? (т.е. не подлежит замене на SCRIPT_FILENAME etc)

P.S. я сам PHP и CGI не занимаюсь, знаю, что реализаций есть множество, детали мне незнакомы.

desper
23-07-2014, 21:23
До недавнего времени все работало вроде бы не плохо, но один скрипт у меня работал криво. Ковырялся в конфиге, гуглил, и вот снова вышел на эту тему ) Дак вот:


Открытый вопрос.
параметр в конфиге nginx для fastcgi
fastcgi_param SCRIPT_NAME
был унаследован из OpenWRT, а там пакет nginx, мягко говоря, не в лучшем виде.
Этот параметр в каких случаях может быть необходим? (т.е. не подлежит замене на SCRIPT_FILENAME etc)


Параметры SCRIPT_NAME и SCRIPT_FILENAME не заменяемы. Они возвращают разные значения. Пояснения из документации http://php.net/manual/ru/reserved.variables.server.php:


'SCRIPT_NAME' - Содержит путь, к текущему исполняемому скрипту.
'SCRIPT_FILENAME' - Абсолютный путь к скрипту, который в данный момент исполняется.


При закомментированной строке fastcgi_param SCRIPT_NAME информации о пути к исполняемому скрипту в массиве $_SERVER не было совсем, что влекло за собой падение некоторых приложений, его использующих. Что интересно: в конфиге не обрабатывается именно параметр SCRIPT_NAME, если его задать то вместо страниц выводится лаконичное "no input file specified". Поэтому пришлось его имя в файле fastcgi_params поменять на SCRIPT_NAM, а в конфиге веб-приложения записать $_SERVER["SCRIPT_NAME"] = $_SERVER["SCRIPT_NAM"];

Пример корректного вывода параметров массива $_SERVER приведен тут http://wiki.nginx.org/PHPFcgiExample