php - shell_exec() 总是返回空字符串

标签 php linux apache terminal server

我正在尝试在我的 Android 手机中创建服务器。我无法从我的 PHP 代码执行任何 shell 脚本。

代码如下:

//index.php
<?php
$output=shell_exec("sdcard/htdocs/myscript.sh 2>&1");
if(!$output){
  echo "Failed";
}else{
  echo $output;
}
?>

//myscript.sh
cd sdcard/htdocs/images
ls -t1 | head -n 1

该脚本在终端模拟器中运行良好。我还尝试更改脚本文件的权限,但这不起作用。我不知道是否需要 super 用户权限才能在 PHP 代码中执行 shell 脚本。

整个代码用于返回在图像目录中创建的最后一个文件的文件名。

需要建议才能使此代码正常工作。还有其他方法可以执行所需的工作吗?

最佳答案

确认你运行了什么

chmod a+x sdcard/htdocs/myscript.sh

在您的文件中。

此外 $output 也不是 bool 值。

关于php - shell_exec() 总是返回空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50758800/

相关文章:

apache - 在本地Apache设置上获取net::ERR_EMPTY_RESPONSE

perl - 如何重新加载催化剂中的配置

php - 为什么cURL在无效的URL上不返回错误?

php - Heroku PHP 和 Node.js 在同一个应用程序中

Linux GNU getopt : ignore unknown optional arguments?

java - 不同操作系统的jar包

php 无法连接到 mysql 并出现错误 13(但命令行可以)

php - 引用自身的 CakePHP 模型

php - 在 php 程序中从 sql 回显数组

linux - 部分程序的性能统计