0

我想在 ubuntu 终端中执行命令。当我直接在终端中运行命令时,它运行没有任何问题。但我真正想做的是通过 PHP 执行这个命令。

chdir('/home/thilini/FYP/testone/bin/');    
exec('./mindtct input_folder/filename output_folder/filename'); 

我写的php代码如上所示。我正在使用 ubuntu 10.10 和 LAMP 配置。chdir 工作正常,我已成功从 /var/www/ 移动到 /home/thilini/FYP/testone/bin/ (我有可执行的 mindtct)。但执行不工作。(mindtct 是一个可执行文件,它将输入文件夹中的文件转换为另一种格式,并将其存储在给定名称下的 output_folder 中)。我究竟做错了什么?

4

4 回答 4

1

问题是路径中的问题。缺少一个正斜杠。

于 2013-09-30T13:09:43.850 回答
0

如果您在 php 5.4 以下运行,请检查 ini 文件中的“safe_mode”。

http://www.php.net/manual/en/features.safe-mode.functions.php

于 2013-09-23T06:18:01.810 回答
0

你可能想要

exec('./mindtct input_folder/filename output_folder/filename');

也许你应该在你的脚本中设置 error_reporting(-1) 以便你得到一些错误

于 2013-09-23T06:01:57.023 回答
0

你想用shell_exec(),没有exec()

shell_exec()在终端中执行命令,同时exec()打开应用程序。

$results = shell_exec('./mindtct input_folder/filename output_folder/filename');
print_r($results);

这将执行命令,将其存储在结果中,然后以数组格式打印结果。

http://php.net/manual/en/function.exec.php
http://php.net/manual/en/function.shell-exec.php

于 2018-03-23T05:25:12.583 回答