php执行shell脚本问题
程序员文章站
2022-04-17 20:21:42
...
在ubuntu上搭的xamp环境平台。在使用php的shell_exec执行shell脚本的时候,只能执行部分命令,或者说只能执行echo命令,像cat ,more等等都不能执行,而且无任何返回信息,比如:
echo "a"
cat a.txt
more b.txt
echo "b"
结果为: ab,中间的2条命令没有执行,也无任何反馈信息,这是为何?
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文件。
上一篇: 布尔运算符
推荐阅读
-
PHP+shell脚本操作Memcached和Apache Status的实例分享
-
解决Python 命令行执行脚本时,提示导入的包找不到的问题
-
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
-
nginx php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)
-
解决Python3 被PHP程序调用执行返回乱码的问题
-
windows下写的shell脚本在linux执行出错的解决办法
-
shell脚本中执行时提示“没有那个文件或目录”的解决办法
-
shell脚本执行linux命令大全(shell脚本执行命令语句)
-
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
-
PHP中Session引起的脚本阻塞问题解决办法