欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php执行shell脚本问题

程序员文章站 2022-03-27 10:08:45
...
在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文件。