2014-04-03 36 views
0

这里是我的脚本壳牌PHP命令和浏览器不返回相同的输出

test.php的

function doc2text($filename){ 

    $name = pathinfo($filename,PATHINFO_FILENAME); 
    $count = exec('abiword --to=txt '.$filename.' && wc -w classes/'.$name.'.txt'); 
    $count = explode(" ",$count); 
    var_dump($count); 
    return $count[0]; 

} 

echo doc2text('classes/demo.pdf'); 

当我运行该脚本在命令行像这样:

php test.php 

var_dump正常输出:

array(2) { 
    [0]=> 
    string(4) "1663" 
    [1]=> 
    string(16) "classes/demo.txt" 
} 

但是,当我在我的浏览器上运行相同的页面数组为空:

array(1) { [0]=> string(0) "" } 

这真是奇怪......任何线索它为什么这样做呢?

回答

0

abiword可能不在web服务器环境的路径中。试试:/path/to/abiword。此外,$filename将需要位于正在运行的PHP脚本的目录中,或者您需要指定路径。

还可以使用错误报告:

error_reporting(E_ALL); 
ini_set('display_errors', '1'); 
+0

这是因为从AbiWord的创建demo.txt文件 – Warface