У меня есть сценарий оболочки (например, mat.sh
) в /var/www/
, а также есть php-скрипт (т. Е. n1.php
) в том же каталоге. Когда я запускаю скрипт оболочки из команды bash, он запускается, но когда я выполняю то же самое с сервера apache2 php, он не выполняется.Невозможно запустить сценарий оболочки из php-кода
mat.sh
содержит ..
#!/bin/bash
cat <<EOF | /var/www/matlab -nodesktop -nosplash -nodisplay /> result.out
a=add(2,3);
disp('this is done');
disp(a);
exit
EOF
Примечание: /var/www/matlab
это каталог MatLab ссылка
n1.php
содержит ..
<html>
<body>
<?php
if ($_GET['run'])
{
# This code will run if ?run=true is set.
echo "Execution starts here...<br/>\n";
echo exec("whoami");
echo "<br/>\n";
exec ("chmod a+x mat.sh", $output, $return);
if ($return != 0)
{
//An error occured, fallback or whatever
echo "Execution failed<br/>\n";
}
exec ("sh mat.sh");
}
?>
<!-- This link will add ?run=true to your URL, myfilename.php?run=true -->
<a href="?run=true">Click Me!</a>
Пожалуйста, помогите мне .....
Попробуйте 'shell_exec (« mat.sh »);' – anubhava
Извините, но не работает –