Heim >Backend-Entwicklung >PHP-Tutorial >php执行shell脚本问题

php执行shell脚本问题

WBOY
WBOYOriginal
2016-06-23 13:49:491128Durchsuche

在ubuntu上搭的xamp环境平台。在使用php的shell_exec执行shell脚本的时候,只能执行部分命令,或者说只能执行echo命令,像cat ,more等等都不能执行,而且无任何返回信息,比如:
echo "a"
cat a.txt
more b.txt
echo "b"
结果为: ab,中间的2条命令没有执行,也无任何反馈信息,这是为何?


回复讨论(解决方案)

本地执行shell脚本的时候能成功,但是使用php来就无法执行了

有人不在不有人不在不
有人不在不

权限问题。
chmod 0777 a.txt 看看

$ ll a.txt
$ ll b.txt
试试

你上面的echo应该不是linux命令的echo应该是php的echo 
$results = `cat a.txt`;或者$results = shell_exec('cat a.txt');  
echo $results试试

问题已经搞定
1.路径问题,确定好工作目录
2.权限问题,daemon和用户之间的关系要搞清楚。
希望能让大家借鉴

   a.sh  
  
#!/bin/sh

echo 'hello world'>1.txt
/usr/bin/unoconv -f pdf /mnt/www/test/test.txt

index.php

exec("/usr/bin/a.sh",$status);


为啥不生成pdf文件。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn