Perl und PHP
Christian
- perl
0 Manticor0 Klaus Mock0 Christian
Ich habe meine Seite auf PHP umstrukturiert, um u.a. auch auf immer den gleichen Fuß- und Kopfbereich (Navigation, News) zugreifen zu können. Nun habe ich einige Anwendungen, die in Perl geschrieben sind und wunderbar laufen. PHP-Anweisungen funktionieren aber im cgi-Verzeichnis nicht, so dass ich auch Fuß- und Kopfbereich nicht in die Datei einbinen kann.
Kann mir einer nen Tip geben, wie sowas doch läuft???
Danke, Christian
Ich habe meine Seite auf PHP umstrukturiert, um u.a. auch auf immer den gleichen Fuß- und Kopfbereich (Navigation, News) zugreifen zu können. Nun habe ich einige Anwendungen, die in Perl geschrieben sind und wunderbar laufen. PHP-Anweisungen funktionieren aber im cgi-Verzeichnis nicht, so dass ich auch Fuß- und Kopfbereich nicht in die Datei einbinen kann.
Kann mir einer nen Tip geben, wie sowas doch läuft???
Mit <?php virtual("/cgi-bin/blabla.pl"); ?> Kannst Du eine Perl-Datei ausführen lassen.
Hilft Dir das weiter?
Mit <?php virtual("/cgi-bin/blabla.pl"); ?> Kannst Du eine Perl-Datei ausführen lassen.
Hilft Dir das weiter?
Ich hoffe mal, kann es erst abends probieren. Die Programme aus PHP ausführen zu lassen war mir noch gar nicht eingefallen, hört sich aber gut an.
Jedenfalls Danke dafür.
Christian
Hilft Dir das weiter?
Ich merke gerade, dass mir Dein Tip doch nicht weiterhelfen wird.
Knackpunkt ist hier eine Suche (Perlfect-Search 3.20) und auf die kann ich ja mittels Formular zugreifen. Zur Ergebnisanzeige wird ein Template verwendet, dass standardmäßig auf html endet. Um nun header und footer ins Template einbinden zu können, muss ich die Datei auf php enden lassen. Die php-Anweisungen werden aber nicht ausgeführt. Da die Navigations- und Newsanzeige ja auch wieder per PHP eingebunden werden hilft es also auch nicht footer und header mal statisch einzubinden.
Biite also weiter Tipps. Danke.
Hallo,
[...] PHP-Anweisungen funktionieren aber im cgi-Verzeichnis nicht, so dass ich auch Fuß- und Kopfbereich nicht in die Datei einbinen kann.
Kann mir einer nen Tip geben, wie sowas doch läuft???
Ich kenne mich zwar mit PHP nicht aus, aber ich denke doch, daß da eine ausführbare Datei existiert, welche man auch von der Shell aus aufrufen kann.
Wenn beispielsweise
php irgendeine_datei.php
auf der Shell funktioniert, dann kannst Du unter Perl beispielsweise mit
open(PHP,'/pfad/zu/php irgendeine_datei.php|') or die 'kann php datei nicht einbinden';
print while (<PHP>);
close(PHP) or die 'kann php nicht schliessen';
den php-interpreter starten, eine beliebige Datei interpretieren lassen und das Ergebnis in Perl wie von einer Datei einlesen und weiterbearbeiten (hier print).
Ein Problem bleibt da noch. Wie kannst DU CGI-Parameter perl shell-Aufruf an PHP übergeben?
Das müsste aber in der PHP-Dokumentation stehen.
Grüße
Klaus
liest sich doch gut. Wenn ichs richtig verstanden habe, kann ich mit
open(PHP,'/pfad/zu/php head.php|') or die 'kann php datei nicht einbinden';
print while (<PHP>);
close(PHP) or die 'kann php nicht schliessen';
Ausgabe der Suchergebnisse
open(PHP,'/pfad/zu/php foot.php|') or die 'kann php datei nicht einbinden';
print while (<PHP>);
close(PHP) or die 'kann php nicht schliessen';
alles ausgeben?! Ich kanns erst heut abend ausprobieren.
Ein Problem bleibt da noch. Wie kannst DU CGI-Parameter perl shell-Aufruf an PHP übergeben?
Das müsste aber in der PHP-Dokumentation stehen.
Das habe ich jetzt nicht ganz verstanden...
Grüße
Christian
liest sich doch gut. Wenn ichs richtig verstanden habe, kann ich mit
[...]
alles ausgeben?! Ich kanns erst heut abend ausprobieren.
Ja.
Ein Problem bleibt da noch. Wie kannst DU CGI-Parameter perl shell-Aufruf an PHP übergeben?
Das müsste aber in der PHP-Dokumentation stehen.
Das habe ich jetzt nicht ganz verstanden...
Naja, Du kannst ja ein PHP-Script in einem Browser mit dem URL
http://www.irgendwo.de/irgend/eine/seite_mit.php?OPTION=wasauchimmer
aufrufen.
Wenn Du aber das PHP-Script aus Perl heraus startest, dann sollte der Parameter 'OPTION' ja auch dem PHP-Script weitergereicht werden können.
MIt der HTTP-Moethode GET (so wie oben) sehe ich weniger Probleme, da ja die entsprechenden Parameter per Environment weitergegeben werden.
Schwieriger ist es dagegen, wenn die Parameter per POST weitergeleitet werden sollen. Dann sollte das alles ja per STDIN ins Script übertragen werden. Jetzt hat aber Perl das schon für sich erledigt. Also wie kommen die Daten in das PHP-Script?
Aber ich denke, daß das nicht Dein aktuelles Problem berührt.
Naja, man macht sich halt so seine Gedanken.
Grüße
Klaus
Aber ich denke, daß das nicht Dein aktuelles Problem berührt.
Naja, man macht sich halt so seine Gedanken.
Jedenfalls habe ich wieder was gelernt. Damit waren Deine Gedanken doch gut.
Gruß, Christain