我认为这是一个权限问题,但不确定如何修复它。
我有一个php脚本 - mainscript.php - 调用:
$scriptCall = "/usr/bin/php wrap_prep.php 2>&1 &";
运行mainscript.php时,wrap_prep.php永远不会执行。但是,当我以root身份登录我的网络服务器并运行php wrap_prep.php 2>&1 &
时,它可以正常工作。
我已将两个脚本设置为所有者和组,并将其设置为我的apache用户以及755权限。
我最近重新编译了PHP以添加一个库(不确定这是否与新问题有关)。
答案 0 :(得分:1)
首先,您应该只输出命令为您提供的exec()
。无论如何都应该有错误信息。
其次,您使用PHP脚本并不一定意味着允许运行PHP的用户在/usr/bin/php
调用PHP二进制文件。你能尝试改变那个权利吗?
如果这没有用,请查看您的PHP脚本正在运行的用户。据我所知,posix_getuid()是找到它的最准确的工具。确保您设置的权限与您设置权限的用户完全相同。
哦,Thilo上面的评论是最明显的,应该首先检查出来:)
答案 1 :(得分:0)
我会检查以确保您的主机未完全停用exec
。我相信phpinfo()
会告诉你它是不是。
答案 2 :(得分:0)
如果在Windows上运行(我知道OP不是),可能需要将整个命令包装在一组引号中。
这解释为here