我的主目录中有一个脚本,我想从远程服务器运行,所以我在 public_html 目录中设置了一个脚本 mytestscript.php,其中包含以下内容:
#!/usr/local/bin/php
<?php
$cat = exec('/usr/local/bin/php /home/example/testfolder/testscript.php',$out,$ret);
print_r($out);
exit;
?>
在 testscript.php 脚本中,我有一个简单的 ffmpeg 调用:
#!/usr/local/bin/php
<?php
echo "hi";
$cat = exec('/usr/local/bin/ffmpeg -i texas.mp4 -y texas2.mp4',$out,$ret);
print_r($out);
?>
当我在浏览器中访问网址时:example.com/mytestscript.php
我在浏览器中得到这个响应:
#!/usr/local/bin/php Array ( [0] => hiArray [1] => ( [2] => ) )
并且 ffmpeg 代码不会运行或制作新的视频文件。
权限都匹配脚本和视频文件。
如果我将 ffmpeg 代码直接复制到 public_html 目录中的脚本并通过 URL 执行它,则视频会进行编码。
有什么原因这不起作用吗?我在日志中没有收到任何错误。