PHP中的exec无法正常工作

时间:2013-09-23 05:57:22

标签: php ubuntu lamp

我想在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中)。 我究竟做错了什么?

4 个答案:

答案 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