我正在使用带有codeigntier的HMVC并尝试运行一个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
从Putty(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
Line: 173
Function: _ci_load_library </p>
<p style="margin-left:10px">
File: /home/onlblcm/dev.mytranslator.com/application/third_party/MX/Loader.php
Line: 192
Function: library </p>
<p style="margin-left:10px">
File: /home/onlblcm/dev.mytranslator.com/application/third_party/MX/Loader.php
Line: 153
Function: libraries </p>
<p style="margin-left:10px">
File: /home/onlblcm/dev.mytranslator.com/application/third_party/MX/Loader.php
Line: 65
Function: initialize </p>
<p style="margin-left:10px">
File: /home/onlblcm/dev.mytranslator.com/application/modules/admin/controllers/Admin.php
Line: 8
Function: __construct </p>
如您所见,它将:/home/onlblcm/dev.mytranslator.com/application/modules/admin/controllers/Admin.php
但这没有任何意义,因为我没有打电话给我的管理员控制器 .
同样,如果我从SSH调用命令它正在工作,那么从CRON搞砸了 .
EDIT 2: 我在cron jobs中添加了这个命令:php -f /home/onlblcm/dev.blasteronline.com/index.php> az.txt 2>&1
从Cron Job调用时,我得到完全相同的东西(错误) . 如果我从SSH调用它,我没有输出 . 如果我从cron打电话,我会得到如上所述的错误 .
EDIT 3: 我现在设法在使用Putty / sssh时遇到同样的错误 . 如果我用php运行命令(ssh)....它运行良好如果我运行命令(ssh):/ usr / bin / php我得到了相同的错误,如在cron中 .
用cron我测试了php ...和/ usr / bin / php ...我得到了同样的错误 .
所以php不同于/ usr / bin / php . 但我输出的是phpinfo,它的版本相同 . 当我使用php信息(通过ssh)并使用php时,我得到一个带有信息的32KB文件(不是html格式化) . 当我使用/ usr / bin / php调用带有php信息的文件时,我得到一个94K信息的文件(它是html格式的) .
怎么了?有任何想法吗?
EDIT 3: SOLVED 似乎某种程度上,cron正在调用不同的PHP(尽管版本相同) . 从Putty(ssh)我做了一个"whereis php"我找到了2个文件夹:/ usr / bin / php和/ usr / local / bin / php它似乎调用简单的php或/ usr / bin / php FAILED cron当用/调用cron时usr / local / bin / php IT WORKS
谢谢