我正在尝试使用PHP脚本调用shell脚本并将输出打印到浏览器。
我已经确认所有权限设置都设置正确,PHP和bash脚本都有完全的控制权。
如果我在当前目录(与PHP文件相同的目录)中运行shell脚本,则它可以正常工作。但是如果我尝试从/some/other/目录/shell运行shell脚本。脚本,那么它不工作。为什么会这样呢?
我试过chdir()到另一个目录,但在运行getcwd()之后,它从未改变目录。
我也尝试了exec命令本身,它不工作。
<?php error_reporting(E_ALL); ini_set('display_errors',1);
echo "<h1>EDS Count Report</h1><p>";
$output=shell_exec('cd /app/script/catalog/ && ./EDScount_report.sh');
echo $output;
?>
SHELL脚本内容:
#!/bin/bash
echo "this is a test!"
请试试
<?php
$output=shell_exec('sh /path/to/otherdirectory/shellscript.sh');
echo $output;
?>
如果您确定您可以访问该目录,您还可以使用:
<?php
$output=shell_exec('cd /path/to/otherdirectory/ && ./shellscript.sh');
echo $output;
?>