[PHP] CGI module

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • jsiegmund
  • Registratie: Januari 2002
  • Laatst online: 19-09 08:48
Even doorborduren op mijn vorige topic:

Ik heb PHP gecompiled als CGI module en die gekopieerd naar mijn online webserver. Die server heeft wel php ondersteuning, maar een oude versie daarvan. Nu heb ik dus het php geupload naar die server en probeer op die manier php5 ondersteuning te krijgen.
Ik krijg al een hoop voor elkaar, maar blijf tegen de volgende fout aanlopen: mijn session_start zeurt dat er al headers verstuurd zijn. Ik krijg maar niet achterhaald waar ik moet zoeken.

Ik roep de pagina alsvolgt aan:
code:
1
2
3
4
5
6
7
8
9
<?php 
ob_start();

error_reporting(E_ALL); 

echo system ('../php/php -f ./index.php');

ob_end_flush();
?>


En dacht op die manier m.b.v. output buffering te voorkomen dat er headers verstuurd worden. Dat blijkt dus niet zo te zijn? Iemand een idee hoe je daar omheen kunt werken?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:14

Creepy

Tactical Espionage Splatterer

Laat me raden: de session_start zit in de index.php die je door een locale PHP met system uitvoert? Dat is een compleet nieuwe instantie van PHP, en die "ziet" de ob_start dus ook niet.

Daarnaast betwijfel ik of sessions gaan werken als je PHP via de commandline uitvoert.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • jsiegmund
  • Registratie: Januari 2002
  • Laatst online: 19-09 08:48
Van wat ik heb gelezen zou dat wel moeten werken, maar goed; dat is zo'n ramp niet. Die sessions kan ik uitlaten maar ik moet eigen headers kunnen versturen en wil niks wat door het systeem verzonden wordt.

Je hebt overigens wel gelijk; dat stukje code staat inderdaad in die andere index.php.

De -q parameter zorgt ervoor dat de output headers onderdrukt worden volgens de help...? Deze helpt dus niet, ook een hele outputbuffer rond het andere .php bestand maakt niet uit.

[ Voor 25% gewijzigd door jsiegmund op 07-02-2005 15:09 ]


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:14

Creepy

Tactical Espionage Splatterer

Je kan wel sessions gebruiken met PHP als CGI, alleen jij gebruikt PHP niet als CGI. Je gebruikt PHP nu los als shellscript. Zaken als sessions, forms. e.d. gaan op deze manier niet werken tenzij je PHP echt als CGI laat draaien, iets wat moet worden geconfigureerd in de webserver.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • jsiegmund
  • Registratie: Januari 2002
  • Laatst online: 19-09 08:48
Hmmm op die manier...

Ik kan verbinding krijgen met mn MySQL server, dus dan sla ik de sessions daar wel in op, dat is niet zo'n probleem. Als we dan die headers werkend krijgen ben ik er ook volgens mij?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:14

Creepy

Tactical Espionage Splatterer

Zolang je geen sessions gebruikt, of iets verzint om via de PHP van je hoster iets door te geven aan je eigen PHP, dan wel ja :)
Voor je headers zul je los je index.php moeten debuggen om het werkend te krijgen. Nu kunnn we er in elk geval niks zinnigs over zeggen. Voer die shellexec zelf eens uit en bekijk de output daar eens van om te kunnen zien wat er nu precies mis gaat.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1