php - Linux 中的 Exec() 命令不从 PHP 页面执行任何操作

标签 php linux exec festival

我正在尝试从网络浏览器中的 PHP 文件运行以下命令:

 exec('festival --tts /var/www/test.txt &');

不幸的是,没有任何反应。我想尝试“echo ”,但无法返回以查看命令是否有效。我将 test.txt 的权限设置为 777。我还在 shell 中运行了命令,它工作得很好——只是在由 PHP 脚本提交时没有。我做错了什么?

最佳答案

提供 festival 二进制文件的完整路径,您可以使用 which festival 命令在控制台上找到它,然后在您的 exec 调用中使用它,如下所示:

exec('/usr/bin/festival --tts /var/www/test.txt &');

更新: 您需要确保创建文件的文件夹对运行 php 的用户具有写权限,在基于 debian 的发行版上通常是 www-data

关于php - Linux 中的 Exec() 命令不从 PHP 页面执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12433886/

相关文章:

php - 检查变量是否在数组中多次存在?

linux - 通过 SSH 打开 netbeans

php - 在 Windows XP 中是否可以获取由 exec() 启动的进程的 PID?

php - 语言切换器仅在 Artisan serve 运行时工作

php - 自动调整缩略图在 DIV 中的位置(基于浏览器窗口宽度)?

linux - cURL 设置最大文件大小

Java运行时执行: Get information from Firefox

c - fork 和 exec 与锁定共享内存相关 - C

php - htmlspecialchars 和 mysql_real_escape_string 是否可以防止我的 PHP 代码被注入(inject)?

Linux目录权限读写不删除