我想在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 /(我有可执行文件)。但是exec没有用。 (mindtct是一个可执行文件,它将输入文件夹中的文件转换为另一种格式,并将其存储在给定名称下的output_folder中)。 我究竟做错了什么?
答案 0 :(得分:1)
问题是路径上的问题。缺少正斜线。
答案 1 :(得分:0)
你可能想要
exec('./mindtct input_folder/filename output_folder/filename');
也许您应该在脚本中设置error_reporting(-1),以免出现错误
答案 2 :(得分:0)
如果您在php 5.4下运行,请检查ini文件中的“safe_mode”。
http://www.php.net/manual/en/features.safe-mode.functions.php
答案 3 :(得分:0)
您想使用shell_exec()
,而不是exec()
。
shell_exec()
在终端中执行命令,而exec()
打开一个应用程序。
$results = shell_exec('./mindtct input_folder/filename output_folder/filename');
print_r($results);
这将执行命令,将其存储在结果中,然后以数组格式print_r结果。
http://php.net/manual/en/function.exec.php
http://php.net/manual/en/function.shell-exec.php