我正在将HMVC与codeigntier一起使用,并尝试运行cron作业。 我将其用于cron:
php /home/onlblcm/dev.mytranslator.com/index.php mytranslator cron cronTranslations > aaa.txt 2>&1
从cron作业运行此文件时,我得到aaa.txt文件
Set-Cookie: ci_session=e56ef3d7d05652937b3269852d8b36eaeebba9a2; expires=Wed, 05-Sep-2018 13:39:26 GMT; Max-Age=7200; path=/; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Refresh:0;url=http/http/user/login
Content-type: text/html; charset=UTF-8
所以对我来说这很奇怪。 如果我运行完全相同的命令
php /home/onlblcm/dev.mytranslator.com/index.php mytranslator cron cronTranslations > aaa.txt 2>&1
从腻子(ssh)中得到所需的东西。该文件运行良好。我得到所需的输出。 因此,这是完全相同的命令,但是使用CRON失败。
我检查了是否可以在SSH中查看,并且我正在使用用户onlblcm 我检查了cron,它使用的是同一用户:onlblcm
那可能是什么问题?
EDIT1: 我在index.php前面添加了-f,现在得到错误输出:
遇到PHP错误
严重性:警告
消息:ini_set():标头已发送。您目前无法更改会话模块的ini设置
文件名:Session / Session.php
行号:284
<p>Backtrace:</p>
<p style="margin-left:10px">
File: /home/onlblcm/dev.mytranslator.com/application/third_party/MX/Loader.php<br />
Line: 173<br />
Function: _ci_load_library </p>
<p style="margin-left:10px">
File: /home/onlblcm/dev.mytranslator.com/application/third_party/MX/Loader.php<br />
Line: 192<br />
Function: library </p>
<p style="margin-left:10px">
File: /home/onlblcm/dev.mytranslator.com/application/third_party/MX/Loader.php<br />
Line: 153<br />
Function: libraries </p>
<p style="margin-left:10px">
File: /home/onlblcm/dev.mytranslator.com/application/third_party/MX/Loader.php<br />
Line: 65<br />
Function: initialize </p>
<p style="margin-left:10px">
File: /home/onlblcm/dev.mytranslator.com/application/modules/admin/controllers/Admin.php<br />
Line: 8<br />
Function: __construct </p>
如您所见,它将转到:/home/onlblcm/dev.mytranslator.com/application/modules/admin/controllers/Admin.php
但这没什么意义,因为我没有打电话给我的管理员。
同样,如果我从SSH调用该命令,该命令仍然有效,那么CRON就会混乱。
编辑2: 我向cron作业添加了以下命令: php -f /home/onlblcm/dev.blasteronline.com/index.php> az.txt 2>&1
从Cron Job调用时,我得到的是完全一样的东西(错误)。 如果我从SSH调用它,则无任何输出。 如果我从cron打电话,就会收到类似上面的错误。
编辑3: 我现在设法在使用Putty / sssh时遇到相同的错误。 如果我用以下命令运行命令(ssh) PHP .... 运行良好 如果我使用以下命令运行命令(ssh): / usr / bin / php 我收到与cron中相同的错误。
使用cron,我用php ...和/ usr / bin / php ...进行了测试,但得到了相同的错误。
因此php与/ usr / bin / php有所不同。 但是我输出了phpinfo,它是相同的版本。 当我使用php info(通过ssh)并使用php时,我得到一个32KB的文件,其中包含信息(不是html格式)。当我使用/ usr / bin / php用php info调用文件时,我得到的文件具有94K信息(它是html格式)。
发生了什么事?有什么想法吗?
编辑3:已解决 cron似乎以某种方式调用了另一个PHP(尽管版本相同)。 从Putty(ssh),我做了一个“ whereis php” 我找到2个文件夹:/ usr / bin / php和/ usr / local / bin / php 似乎调用简单的php或/ usr / bin / php失败了cron 使用/ usr / local / bin / php调用cron时
谢谢