Toon posts:

PHP gerecompiled: HTTPD geeft geen sjoege meer...

Pagina: 1
Acties:
  • 102 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb net een nieuwere versie van PHP gedownload, en het vertrouwde riedeltje van configure, make en make install uitgevoerd.

Vervolgens 'httpd restart' en...

Hij doet niks meer!

Hij komt niet verder meer dan een connectie openen via poort 80, maar er komt geen data, php net zomin als gewone html.

Heeft iemand dit al eens eerder gehad? Wat zou er aan de hand kunnen zijn?

O ja, ik heb PHP als Apache module geinstalleerd (--with-apxs enz.).

  • joennie
  • Registratie: Januari 2001
  • Laatst online: 04-08-2025

joennie

Certified SCRUM Professional

dan zal dat het wel zijn. ff apache opnieuw linken naar die php ofzo....
ik gok dat je apache ff opnieuw moet compilen, maar beelzebub zal het verlossende woord zo wel geven denk ik... :)

Linux aanhanger!


Verwijderd

Wat heb ik nou met PHP/apache te maken? :?

Anyway, ljikt me dat je configuratiefile nietklopt. Geeft ie helemaal geen output? Of geeft ie ipv. PHP-parsed pagina's gewoon text-pagina-output? Je moet even kijken waar apache verwacht dat je conf (httpd.conf) file staat, normaal in /etc/httpd/conf/httpf.conf of ergens daar in de buurt. Maar het kan zijn dat apache zich zo compileert dat ie hem opeens in /usr/local/etc/httpd/conf of in /var/www/conf/ verwacht.... Dus even uitzoeken welke configuratiefile wordt gebruikt en die dan zo aanpassen dattie PHP-pagina's als PHP-pagina's parst (zie de apache documenattie voor de details daarvan).

edit:
als dus de conf-file locatie is verandert moet je ook hostname/ip, virtual hosts etc opnieuw invoeren. Dat verklaart misschien waarom ie helemaal niks doet


[nogmaals edit] staan er ook nog zinnige meldingen in je syslog? /var/log/messages of /var/www/logs/* (dit hangt dan weer af van welke dir je voor logging in je conf file hebt opgegeven) [/edit]

Verwijderd

Topicstarter
Bedankt voor de snelle reacties!

httpd heb ik niet aangeraakt, en hij heeft zijn .conf file altijd gewoon gelezen.
Hij geeft geen respons meer, dus het lijkt me dat het probleem niet aan libphp4.so ligt, de dynamische module-versie van PHP.

In m'n proceslijst zie ik ondertussen staan:
<defunct: httpd>
Dus m'n systeempje had het ook al in de gaten.. :'(
Er staat maar een httpd.conf op m'n computertje die altijd al op dezelfde plek staat ('t is overigens een SuSE 7.1 bak)

Ik denk koortsachtig na over wat het nog meer kan zijn. :?

Verwijderd

Kijk in je logs, die zijn vaak heilig in dit soort situaties

  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 14-08 15:59
killall -HUP httpd
httpd

moet eigenlijk werken

zeroxcool.net - curity.eu


Verwijderd

Topicstarter
uit /var/log/httpd/error_log:

[notice] child pid 5561 exit signal Segmentation fault (11)

Deze regel wordt al een uur lang stipt elke twee seconden geschreven.

Een segfault? uh-oh, zal ik dan toch Apache moeten hercompileren? |:(

Verwijderd

Run Apache even in de foreground in verbose mode in een debugger (gdb) - dan zie je waarom ie crasht.

Ik weet niet exact welke opties je dan aan apache moet meegeven. Maar je start apache zo in de debugger:

# gdb httpd
(gdb) set args <hier de argumenten>
(gdb) run
<segmentation fault>
(gdb) bt
<output>
(gdb) quit
#

<hier de argumenten> zijn de command line options die je aan httpd wilt meegeven (bv. -f ofzo, -v, weetikveel, ik ben niet zo thuis in apache), <output> geeft dan aan waar die crasht. Als dat apache zelf is: hercompileren of een RPM gebruiken. Als dat de PHP-module is: dan mag je die hercompileren :)

Verwijderd

Topicstarter
Okee we zijn een stap verder.
HTTPD en alle gelieerde processen gekilld en opnieuw gestart. We zien 'm weer normaal in de proceslijst, en.. hij served weer files!

Dat wil zeggen, hij responsed keurig, maar PHP parsen doet ie niet meer.. :'( heb ik het dan allemaal voor niks gedaan?

Nou ja, dit moet iets makkelijks zijn, ergens een verwijzing naar PHP in httpd.conf ofzo die niet goed meer staat sinds ik opnieuw gecompileerd heb. Ik ga wel effe zoeken.
Tot zover in elk geval bedankt allemaal.

Verwijderd

Topicstarter
Ik weet in elk geval wat het probleem is nu.

Opstarten van HTTPD met de normale opties (zoals: laad libphp4.so) lukt niet, omdat PHP hem eruit laat klappen.
PHP geeft namelijk een fout als hij opgestart wordt, en dat is een bug die optreedt als je hebt gecompileerd onder SuSE 7.1 (en die heb ik weer :'( )

Het heeft te maken met een vage imap-functie, mm_dlog die ik nu ergens in de source op moet zien te sporen en uit moet commentarieren, dan schijnt het allemaal goed te gaan.

Maar nog wel even zoeken dus.

Tussen haakjes, als je google ook niet had.. geweldig. Ik zocht op mm_dlog (had ik uit de rcapache log) en ik kreeg meteen de pagina met de fout-beschrijving en oplossing.

Verwijderd

Topicstarter
Gevonden! in {php-dir}/ext/imap/php_imap.c en nog een sourcefile in die directory stond een verwijzing naar de lege functie mm_dlog en die heb ik eruit gegooid
Nu even make-en en dan hopen dat ie weer draait!

[edit] sip mode:
Helaas weer te vroeg gejuicht - hij doet het niet. Die mm_dlog die ik had gevonden was het dus niet, hij moet ergens anders staan.
Ik heb in een archief iets gevonden van dat het in een zeker imap.c bestand moet staan in in imsp.c, maar die kan ik helemaal niet vinden op mijn systeem!
Zucht.. iemand?

  • spine
  • Registratie: Juni 2001
  • Niet online

spine

VISHUDDHI

heb je nou apache al opnieuw gecompiled?

[BSDFreaks.nl] [www.Dark-Future.org] [Alizarin.nl]


Verwijderd

leve de RPMS :)
Pagina: 1