PHP找不到我的shell脚本,无法使用shell_exec()执行它

PHP找不到我的shell脚本,无法使用shell_exec()执行它,php,sh,shell-exec,Php,Sh,Shell Exec,事实证明,我的FTP客户端弄脏了我的shell脚本,因此,感谢所有对此做出贡献的人。:) =============================== 我正试图使用PHP执行一个shell脚本,该脚本与使用exec()的PHP脚本存储在同一目录中,但出现了一个错误: sh: 1: ./hlsvod.sh: not found 我尝试过使用脚本的完整路径,我将其命名为777,我尝试过使用shell_exec(),但仍然得到相同的错误(我将stderr重定向到stdout以获取它)。剧本肯定存在

事实证明,我的FTP客户端弄脏了我的shell脚本,因此,感谢所有对此做出贡献的人。:)

===============================

我正试图使用PHP执行一个shell脚本,该脚本与使用
exec()
的PHP脚本存储在同一目录中,但出现了一个错误:

sh: 1: ./hlsvod.sh: not found
我尝试过使用脚本的完整路径,我将其命名为777,我尝试过使用
shell_exec()
,但仍然得到相同的错误(我将
stderr
重定向到
stdout
以获取它)。剧本肯定存在。你能帮忙吗

代码:


新3DS iPlayer-
实时HLS流
HLS流URL:

VTT字幕URL:


检查此链接以使用php执行shell命令


尝试使用如下绝对路径


结果我的FTP客户端弄脏了行尾,把我的shell脚本搞得一团糟


注意你的行尾

跳过“/”并重试。如果只有一个文件名,并且没有指定路径,php将自动在当前目录中查找。您能给我们看一下您的代码吗?@Julio Soares,当然,请容忍mePHP代码:不要发布指向您代码的链接。请将您的代码粘贴到您的问题中这不会回答问题。。。不过还是要谢谢你。谢谢jsa,而不是MachavityNope——和上次一样的错误。(必须在
$\u SERVER[“DOCUMENT\u ROOT”]之后添加/bbci.“
,因为我的页面位于/var/www/bbci中
<?php
/* Probably not the most elegant solution but it works. */
$pid = $_GET['pid'];
if(empty($_GET['pid'])){
    die("No PID -- do ?pid=XXXXXXXX");
}
$tmpfile = exec("./hlsvod.sh ".$pid." 2>&1");

echo nl2br(shell_exec("pwd;whoami;"));
var_dump($tmpfile);
$a = fopen($tmpfile."m3u8", "r");
$stream = fread($a);
fclose($a);
$b = fopen($tmpfile."subs");
$subs = fread($b);
fclose($b);
var_dump($stream);
var_dump($subs);
?><!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width,user-scalable=no">
<title>New 3DS iPlayer - <?=$pid;?></title>
</head>
<body>
<h1>Live HLS Stream for <?=$pid;?></h1>
<p>HLS stream URL: <a href="<?=$stream;?>"><?=$stream;?></a></p>
<p>VTT subtitles URL: <a href="<?=$subs;?>"><?=$subs;?></a></p>
<video id="video" controls preload="metadata">
   <source src="<?php echo $stream; ?>">
   <track label="English" kind="subtitles" srclang="en" src="<?=$subs;?>" default>
</video>
</body>
</html>
$tmpfile = exec("sh: 1: " . $_SERVER["DOCUMENT_ROOT"] . "/hlsvod.sh ".$pid." 2>&1");