[php & perl] perl script aanroepen vanuit php

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

Onderwerpen


Acties:
  • 0 Henk 'm!

  • DaOverclocker
  • Registratie: Oktober 2000
  • Laatst online: 20-09 22:59

DaOverclocker

Overclocker for life...

Topicstarter
Ik wil graag vanuit een php script een perl script uitvoeren, en dan het resultaat van dat perl script afdrukken in de webbrowser.

Ik had voorheen hier de volgende methode voor:

code:
1
2
3
<?php
echo file_get_contents("http://www.iets.nl/test.pl");
?>


Deze opdracht resulteerd nu echter na 30 seconden in een foutmelding:
"Warning: file_get_contents(http://www.iets.nl/test.php) [function.file-get-contents]: failed to open stream: Connection timed out in..."

Dit werkt na een php update niet meer, en samen met de systeembeheerder kwam ik er niet uit. We hebben ook zitten zoeken in /var/log/apache2/*.log

Ik probeerde ook dit:
code:
1
2
$stream = fopen(""http://www.iets.nl/test.pl","r");
echo stream_get_contents($stream);

Dit wil ook niet.

Wanneer ik nu een externe website in de lokatie invul, ala google.nl, wordt die wel netjes ge-echo-ed.

Iemand enig idee hoe ik dit wel kan oplossen?

ps. een php script met alleen echo "hoi" erin kan ik ook niet laten zien. Ook dan zie ik een timeout error.
Dit dus: echo file_get_contents("http://www.iets.nl/test.php");

systeem specs


Acties:
  • 0 Henk 'm!

  • Spockz
  • Registratie: Augustus 2003
  • Laatst online: 10:08

Spockz

Live and Let Live

C'est le ton qui fait la musique. | Blog | @linkedin
R8 | 18-55 IS | 50mm 1.8 2 | 70-200 2.8 APO EX HSM | 85 1.8


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Staat url_fopen wel aan?

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • DaOverclocker
  • Registratie: Oktober 2000
  • Laatst online: 20-09 22:59

DaOverclocker

Overclocker for life...

Topicstarter
Deze heb ik inderdaad ook al geprobeerd. Dit geeft alleen geen foutmelding, maar ook geen resultaat.
Het vreemde hierbij is, is dat het niet uitmaak of ik een bestaande file opgeef of niet.

Dit had ik:
code:
1
2
3
4
5
unset($output);

$command="test.pl";
exec ($command,$output,$res);
print_r($output);

Dit leverd een lege array op.

url_fopen staat ook op On. Als hij op off stond zou hij een foutmelding moeten geven, en zou google.nl ook niet worden weergegeven. Dus ik denk dat dat wel goed zit.

[ Voor 19% gewijzigd door DaOverclocker op 23-02-2007 14:35 ]

systeem specs


Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Experimenteer ook even met system() en shell_exec().

Acties:
  • 0 Henk 'm!

  • DaOverclocker
  • Registratie: Oktober 2000
  • Laatst online: 20-09 22:59

DaOverclocker

Overclocker for life...

Topicstarter
Ik heb hier al 2 dagen aan zitten prutsen, en zojuist heeft de oplossing zich geopenbaard.

Ik kwam erachter doordat een lokale webpagina niet kon worden ge-print, maar een externe wel.
Als ik http://127.0.0.1/test.pl gebruik doet het script het wel.

Mijn webpagina kan dus niet worden ge-resolved op de webserver.

Iedereen wel bedankt voor de moeite!

Ik gebruik dus nu:
code:
1
2
3
<?php
echo file_get_contents("http://127.0.0.1/test.pl");
?>


en dus NIET dit: (als mijnpagina op dezelfde server staat)
code:
1
2
3
<?php
echo file_get_contents("http://www.mijnpagina.nl/test.pl");
?>

[ Voor 14% gewijzigd door DaOverclocker op 23-02-2007 15:12 ]

systeem specs


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

DaOverclocker schreef op vrijdag 23 februari 2007 @ 15:11:
Ik heb hier al 2 dagen aan zitten prutsen, en zojuist heeft de oplossing zich geopenbaard.

Ik kwam erachter doordat een lokale webpagina niet kon worden ge-print, maar een externe wel.
Als ik http://127.0.0.1/test.pl gebruik doet het script het wel.

Mijn webpagina kan dus niet worden ge-resolved op de webserver.

Iedereen wel bedankt voor de moeite!

Ik gebruik dus nu:
code:
1
2
3
<?php
echo file_get_contents("http://127.0.0.1/test.pl");
?>


en dus NIET dit: (als mijnpagina op dezelfde server staat)
code:
1
2
3
<?php
echo file_get_contents("http://www.mijnpagina.nl/test.pl");
?>
allow_url_fopen staat waarschijnlijk uit ;)

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Shadowman
  • Registratie: Januari 2002
  • Niet online
Snakiej schreef op vrijdag 23 februari 2007 @ 17:39:
[...]

allow_url_fopen staat waarschijnlijk uit ;)
Als de webserver achter een router staat dan werkt het niet. En volgens mij kan je met allow_url_fopen ook niet via http naar localhost connecten?

exec/system/proc_open/popen whatever is overigens meer aan te raden dan via http een file te includen, aangezien je dan de overhead van het http-protocol sowieso al mist. Ik raad je daarom aan om het op die manier werkend te krijgen.
Pagina: 1