Home >Backend Development >PHP Tutorial >php执行shell脚本问题

php执行shell脚本问题

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

在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文件。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn