当前位置:Gxlcms > PHP教程 > php执行shell脚本问题

php执行shell脚本问题

时间:2021-07-01 10:21:17 帮助过:4人阅读

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

人气教程排行