![在 Mac OS X 上通过 PHP 的 shell_exec 打开视频失败](https://linux22.com/image/1523943/%E5%9C%A8%20Mac%20OS%20X%20%E4%B8%8A%E9%80%9A%E8%BF%87%20PHP%20%E7%9A%84%20shell_exec%20%E6%89%93%E5%BC%80%E8%A7%86%E9%A2%91%E5%A4%B1%E8%B4%A5.png)
我在我的计算机 (Mac OS X) 上托管了一个本地 Web 应用程序,其中包含一个使用 QuickTime 打开视频的按钮。单击按钮时,将向 PHP 脚本发出 AJAX 请求,内容如下:
$cmd = "/usr/bin/open $videoFile"; // For example: $videoFile = '/Users/.../Downloads/abc.mp4'
$code = "Performing cmd: $cmd";
shell_exec($cmd);
echo '{code: "$code"}'; // JSON debug output
根据按钮可以打开多个视频。问题是,它并不总是有效:
- 我手动打开的视频或使用终端应用程序中的相同命令打开的视频都可以通过 PHP 脚本毫无问题地打开
- 未打开的视频(之前)无法打开,QuickTime 图标跳转到 Dock 中,但没有显示窗口。然后我将完全相同的命令粘贴到终端应用程序中,QT 便打开了。如果我退出 QT 并再次尝试脚本,它会毫无问题地运行(所有视频文件都会事先检查它们是否存在;
exec(...)
同样不起作用)