Heim >Backend-Entwicklung >PHP-Tutorial >php执行shell脚本问题
在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文件。