script.sh
cd ~/scripts
acname=$(cat acname.txt)
days=$(cat days.txt)
nbmessages=`ls -l message_*.txt | wc -l`
today=`date +%Y%m%d`
#
echo $acname >> ./log.txt
echo $days >> ./log.txt
echo $nbmessages >> ./log.txt
echo $today >> ./log.txt
如果我在shell提示符下运行script.sh,则log.txt显示:
alex8
4
5
20140124
这是正确的
如果我在PHP中使用shell_exec函数运行script.sh,log.txt显示:
log.txt:
0
20140124
因此,获取文件的内容不起作用,也不计算具有特定模式的文件(当它应为5时为0),而date命令仍然有效。 任何的想法 ? 非常感谢提前!
答案 0 :(得分:0)
~/scripts
转到您家庭目录的脚本子目录。这可能与运行php的Web服务器进程的主目录不同。
通常,使用完整路径可以帮助缓解此类问题,但您仍然需要应对确保Web服务器进程拥有相关文件的权限。