[PHP/Apache] Apache wil niet laden met PHP module

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

  • s441558
  • Registratie: Mei 2002
  • Laatst online: 13:48
Ik heb al verschillende keren Apache + PHP geinstalleerd op mijn NSLU2 (NAS met aangepaste firmware, (Unslung)), tot nog toe altijd zonder problemen. Sinds een update van Apache werkte de webserver echter niet meer zoals zou moeten. Na een hoop gepuzzel en herinstallaties heb ik het probleem weten te herleiden tot PHP.

Het probleem is dat zodra is Apache opstart met een verwijzing om de PHP modules te laden, de hele webserver vastloopt. (ik krijg een zombieproces te zien van de webserver [httpd]). Mijn website is dan ook niet online. Ik laad de PHP module via het bestandje php.conf in de map /opt/etc/apache2/conf.d. De configuratiebestanden in deze map worden geladen via een regel in httpd.conf (zie onder).

Zodra ik ofwel de regel met "LoadModule…" of de regel met "Include …" weghaal, dan start de webserver gewoon op, echter zonder PHP (wat logisch is). Maar ik wil natuurlijk dat PHP ook werkt. Wat doe ik toch fout???

Wat heb ik al geprobeerd.
  • Gekeken op de website van PHP bij de FAQ
  • Gekeken in het Forum, hier vond ik wel mensen met vergelijkbare problemen, maar daar kwam het er vaak op neer dat een van de bovenstaande regels ontbraken ofzo.
  • Apache en PHP opnieuw geinstalleerd
  • Code uit php.conf in httpd.conf zelf gezet --> zelfde resultaat
  • Gekeken of /opt/libexec/libphp5.so er is --> die is er
  • Gekeken in /opt/var/apache2/log in de logfiles --> staan volgens mij geen rare dingen in
Inhoud php.conf:
LoadModule php5_module libexec/libphp5.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php

Inhoud httpd.conf (klein gedeelte van)
Include etc/apache2/conf.d/*.conf
ServerRoot "/opt"

Laatste regels in error_log
[Sat Sep 15 22:53:49 2007] [notice] Digest: generating secret for digest authentication ...
[Sat Sep 15 22:53:49 2007] [notice] Digest: done
[Sat Sep 15 22:53:52 2007] [notice] Apache/2.2.6 (Unix) mod_ssl/2.2.6 OpenSSL/0.9.7m DAV/2 configured -- resumin$

Wat is wellicht verder nuttig als achtergrondinformatie
  • PHP 5.2.3-2
  • PHP-Apache 5.2.3-1
  • Apache 2.2.6-3
  • NSLU2 draait op een unix achtig systeem (Unslung), voor meer info zie www.nslu2-linux.org
  • Installatie gaat via IPKG install PHP, IPKG install Apache. Dit zijn dus Packages die vanzelf geinstalleerd worden.
  • Een PHP info pagina maken werkt niet, aangezien PHP niet werkt. Wel via het commando php -i
Klein stukje info uit php -i
Server API => Command Line Interface
Virtual Directory Support => enabled
Configuration File (php.ini) Path => /opt/etc
Loaded Configuration File => /opt/etc/php.ini
Scan this dir for additional .ini files => /opt/etc/php.d
additional .ini files parsed => /opt/etc/php.d/gd.ini,
/opt/etc/php.d/ldap.ini,
/opt/etc/php.d/mbstring.ini,
/opt/etc/php.d/mysql.ini


De grote vraag is dus, waarom crasht Apache zodra ik de PHP module laadt. Ik weet echt niet meer waar ik moet zoeken.

Nefit EnviLine IDU Monoblock E 7 E-S, Boiler 200 L, Buffervat 50L. BQQKees


  • a casema user
  • Registratie: Januari 2000
  • Laatst online: 06-01 19:09
wat is het verschil tussen PHP 5.2.3-2 en PHP-Apache 5.2.3-1 ?

Taaaa taa taa taaaa taa taa ta taaataaaaa.


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Ik ben ook wel benieuwt naar de output van gdb bij het opstarten van Apache met php included? Als je daar een error of zelfs backtrace uit kan krijgen dan ben je al een stuk verder :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • s441558
  • Registratie: Mei 2002
  • Laatst online: 13:48
a casema user schreef op zondag 16 september 2007 @ 11:34:
wat is het verschil tussen PHP 5.2.3-2 en PHP-Apache 5.2.3-1 ?
PHP is PHP zelf, PHP-apache is de PHP module voor apache

Als je bijvoorbeeld IPKG install PHP-apache doet, dan wordt automatisch PHP en PHP-apache geinstalleerd. Waarom er een verschillend versienummer is, dat weet ik niet.
Ik ben ook wel benieuwt naar de output van gdb bij het opstarten van Apache met php included? Als je daar een error of zelfs backtrace uit kan krijgen dan ben je al een stuk verder
Daar ga ik eens induiken. Ik vroeg me al af hoe ik dat soort informatie kon achterhalen. Ben niet bekend met gdb, dus dat ga ik ff uitzoeken, en dan laat ik wel weten of ik daar iets wijzer van kan worden. Bedankt voor de tip (ben nog steeds een unix/linux noob).

edit:
Ben niet echt bekend met gdb dus als ik iets fout doe, moet je het maar zeggen. Ik krijg geen foutmeldingen met gdb als ik mijn apache opnieuw opstart met de PHP module erbij (via sh S80apache restart). Apache is echter wel vastgelopen (zombie).

gdb sh
(gdb) set args S80apache restart
(gdb) run
Starting program: /bin/sh S80apache restart
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

Program exited normally.
(gdb)

Ook heb ik in S80apache gekeken, en daar staat een regel met /opt/sbin/httpd -k restart.

Deze heb ik ook door gdb gehaald.

gdb httpd
(gdb) set args -k restart
(gdb) run
Starting program: /opt/sbin/httpd -k restart
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found) (staat er een keer of 30)

Program exited normally.
(gdb)

[ Voor 67% gewijzigd door s441558 op 16-09-2007 12:51 ]

Nefit EnviLine IDU Monoblock E 7 E-S, Boiler 200 L, Buffervat 50L. BQQKees


  • s441558
  • Registratie: Mei 2002
  • Laatst online: 13:48
Klein kickje. Is er echt niemand die me kan helpen of een hint kan geven hoe ik achter het probleem kan komen.

Edit:
Ik ben er inmiddels wel achter dat het httpd proces pas een zobie wordt als ik een webpagina laadt. In eerste instantie start apache + php dus gewoon op. Zodra ik echter een webpagina bekijk via een andere computer op de webserver, crasht een van de httpd processen. Dit gebeurt zowel bij html als php pagina's, maar dus alleen als de php module is geladen.

[ Voor 62% gewijzigd door s441558 op 18-09-2007 08:48 ]

Nefit EnviLine IDU Monoblock E 7 E-S, Boiler 200 L, Buffervat 50L. BQQKees


  • s441558
  • Registratie: Mei 2002
  • Laatst online: 13:48
Inmiddels werkt het weer. Na een volledige herinstallatie van mijn NSLU2 werkte het in eerste instantie nog steeds niet. Echter, na een update van PHP werkte het ineens weer. Toch een bug in PHP geweest ofzo.

Nefit EnviLine IDU Monoblock E 7 E-S, Boiler 200 L, Buffervat 50L. BQQKees

Pagina: 1