![]() |
perl und html mit php
* Ein perl-script ruft eine ausgabe.html-Datei auf und gibt innerhalb eines html-Layouts Daten aus.
* Ich aendere den Namen der Datei auf ausgabe.php und passe den Aufruf entsprechend im perl-Script an. Soweit, so gut - alles funktioniert wie gewohnt. Schreibe ich allerdings ein paar Zeilen php in den html-Code, wird der php-Code einfach ignoriert. Warum ist das so? Danke ff |
der webserver kann kein php? :confused:
|
Sehr wohl. Reine php-Scripts laufen problemlos.
|
wir rufst du das PHP-Script auf?
per HTTP oder mit der Perl-Funktion open |
open(F,"<data/ausgabe.php");
Der php-Code steht dann z.B. wie <?php print "hallo"; ?> im html-Teil und . . . wird nicht angezeigt. Ich finde keine logische Erklaerung fuer dieses Verhalten, da ja php gar nicht wissen kann, ob die php-Seite von einen Perl-Script aufgerufen/erzeugt wurde oder "normal". Meine Perl-Kenntnisse sind auf kleine Anpassungen beschraenkt, deshalb meine Anfrage hier. |
Mit open öffnest du nur die Datei ohne das sie ausgeführt wird.
nur wenn die PHP-datei über HTTP aufgerufen wird, wird der PHP-Code ausgeführt. Fals PHP als CGI läuft oder die PHPversion >4.3(CLI) installiert ist kannst du mal das versuchen. open(F,"php -q <data/ausgabe.php |"); |
|
Eine andere Möglichkeit ist system/exec, und die php-Datei an den PHP-Interpreter zu übergeben (als Shell-Script).
mfg |
@AAD
Es laeuft php 4.1 und ich moechte mit einem Update auf 5.0 warten. open(F,"php -q <data/ausgabe.php |"); funktioniert daher (noch) nicht. > Mit open öffnest du nur die Datei ohne das sie ausgeführt wird. Sollte nicht eine php-Datei automatisch beim oeffnen ausgefuehrt werden? Woher weiss der php-Interpreter, dass die Datei von einem Perl-Script geoeffnet wurde und nicht vom User, der die ausgabe.php direkt aufruft? Dann funktioniert der php-Code naemlich - die perl-Ausgabe dafuer natuerlich nicht . . . @jak schlecht. Kein php-Code wird in dem beschriebenen Fall ausgefuehrt. @SNo0py Klingt interessant, aber schaut mir nach umschreiben des "fremden" perl-Scripts aus. Da moechte ich mich nicht hineinarbeiten, nur um ein paar Zeilen php ins html zu integrieren. Jedenfalls herzlichen Dank an alle fuer eure Antworten ff |
Zitat:
Ganz einfach, mit open öffnet man die normale Text-Datei. Dem php-Interpreter muss angegeben werden, wann er die PHP-Datei ausführen soll. PHP als Apache-Modul installiert: Eintrag in der httpd.conf AddType application/x-httpd-php .php .phtml Der Webserver kontrolliert die Dateiendung, wenn diese im Eintrag application/x-httpd-php vorhanden ist, dann wird die Datei mit dem php-Interpreter ausgeführt. PHP als CGI auf Linux/Unix Webserver: bei CGI muss in der 1.Zeile der Interpreter angegeben werden, in welcher Sprache die Datei geschrieben ist. z.b. #!/usr/bin/php für PHP #!/usr/bin/perl für Perl |
Alle Zeitangaben in WEZ +2. Es ist jetzt 11:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag