我正在尝试从网络浏览器中的 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/