Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在job赢得’;不运行脚本,但如果粘贴到命令行,脚本将运行_Php_Sh_At Command - Fatal编程技术网

Php 在job赢得’;不运行脚本,但如果粘贴到命令行,脚本将运行

Php 在job赢得’;不运行脚本,但如果粘贴到命令行,脚本将运行,php,sh,at-command,Php,Sh,At Command,每当我在博客上发帖时,我都有以下三个文件通知我的电子邮件列表: “functionality\u plugin.php”-包含创建-> 在html文件夹中“run_email_processor.sh”,并在服务器上设置一个AT作业来运行它。-> “run_email_processor.sh”触摸服务器上的“email_processor.php”,该服务器使用.sh脚本中的参数构造电子邮件。它通过电子邮件列表循环发送构造的电子邮件到每个地址。它还会在所有电子邮件地址的同一目录中写入日志文件

每当我在博客上发帖时,我都有以下三个文件通知我的电子邮件列表: “functionality\u plugin.php”-包含创建->

在html文件夹中“run_email_processor.sh”,并在服务器上设置一个AT作业来运行它。->

“run_email_processor.sh”触摸服务器上的“email_processor.php”,该服务器使用.sh脚本中的参数构造电子邮件。它通过电子邮件列表循环发送构造的电子邮件到每个地址。它还会在所有电子邮件地址的同一目录中写入日志文件

问题 AT作业中的“run_email_processor.sh”通常包含以下内容:

#!/bin/bash
php -f ../var/www/html/wp-admin/email_processor.php arg1 arg2 arg3 arg4 arg5
如果我将内容粘贴到命令行并按Enter键,则下游进程将按预期运行,发送所有电子邮件

然而,如果我让AT作业执行脚本,则下游不会发生任何事情

-AT作业由www-data拥有:www-data

-email_processor.php已设置完整权限(用于测试)

-使用atq时,AT作业的内容如下:

45      Tue Feb 25 13:30:00 2020 a www-data
-使用at-C45,我可以查看at作业的内容

-如上所述,如果我将内容复制/粘贴到命令行并运行它,所有操作都会按预期进行

问题
为什么粘贴到命令行时它能工作,而从AT作业运行时它不能工作?

运行AT作业的环境可能在其
路径中没有
php
,您是否尝试过使用它的完整路径?我没有,但我现在就尝试一下。谢谢Benjamin W.-使用完整路径不进行更改。实际上,我几天前在环境文件中放入了php的完整路径。所以我想我应该已经预料到了。用绝对路径改变这个
。/var/www/html/wp admin/email\u processor.php
,这似乎是有效的!但是,我还创建了一个文件“at.allow”,并将www数据放在其中。我已经从“at.deny”文件中删除了www数据。谢谢我知道这件事很简单,但超出了我有限的经验。