Wykonaj perl w PHP [duplikat]
Możliwy duplikat:
Wywoływanie skryptu Perla z PHP i przekazywanie zmiennych, a także używanie zmiennego skryptu nazwy perla
Chcę wykonać skrypt perla przez PHP. używamexec()
wykonać skrypt perla. Działa na moim komputerze, ale nie działa na serwerze. Serwer jest oparty na Linuksie CentOS.
Dałem pełne pozwolenie (777) zarówno na skrypt PHP, jak i na plik perla. Gdy próbuję wykonać, otrzymuję następujący błąd w dzienniku błędów
sh: /perl: No such file or directory
Próbowałem wykonać za pomocą następujących sposobów
exec("perl -w Script.pl $username $password",$output);
exec("/usr/bin/perl -w Script.pl $username $password",$output);
exec("/usr/bin/perl Script.pl $username $password",$output);
Próbowałem również, używającsystem
funkcjonować
$output = system("perl Script.pl $username $password");
Nic się nie dzieje, kiedy to próbuję.
Próbowałem również wykonać perl, używającpassthru()
funkcjonować
passthru("/usr/bin/perl -w Script.pl $username $password",$output);
Kiedy wykonam tę linię,$output
drukuje 127 i nic nie dzieje się w skrypcie.
Sprawdziłem, czy plik jest wykonywalny, czy nieis_executable()
funkcjonować. Pokazuje, że plik nie jest wykonywalny.
Kod jak poniżej
$file = 'Script.pl';
if (is_executable($file))
{
echo $file.' is executable';
}
else
{
echo $file.' is not executable';
}
Jeśli wykonam perl przez terminal, działa dobrze, ale gdy próbuję wykonać przez PHP, nie działa.