【发布时间】:2022-04-08 20:24:14
【问题描述】:
我挣扎了几个小时的问题是:我想用 PHP 在后台执行一个脚本,所以我使用了 shell_exec() 函数,但我无法让它工作。但这不是与 shell_exec 函数相关的问题,因为我已经测试了 shell_exec('sleep 5') 命令并且它有效。我试图执行的命令是:
shell_exec('nohup /kunden/usr/local/bin/php5.4 /kunden/homepages/XX/dXXXXXXXX/htdocs/myproject/background_script.php > /dev/null 2>&1 & echo $!');
脚本在 MySQL 数据库中插入一行。我已经通过 SSH 和 putty 在引号内测试了完全相同的命令,它运行良好,但我无法从网络浏览器中运行它。
我觉得不重要,但是是和1and1共享的服务器。
【问题讨论】:
-
你说“我无法让它在我的 php 代码中工作”。发生什么或不发生什么?您收到任何错误消息吗?也许您可以删除命令中的重定向,这样您就不会丢弃程序发出的任何错误消息。
-
我知道它不起作用,因为没有在数据库中插入行。如果我从浏览器中的 php 回显 shell_exec('...') 返回 pid 号。在最后一次执行 13885 中。我缺少什么吗?
标签: php shell ssh putty shell-exec