2015-06-30 3 views
0

У меня есть PHP-скрипт, выполняемый как crontab-задание.Хотя цикл не работает в php Скрипт работает в Crontab

Когда я запускаю файл в браузере, петли выполняются отлично, но при запуске в crontab выполняется только первая итерация без ошибок вывода.

Любые идеи, почему? Я совершенно тупой !!!.

запись кронтаб:/USR/бен/PHP /home/XXX/public_html/directory/cron/cron.php 2> & 1 >> /home/XXX/public_html/directory/cron/script_output.log | Почты -s «Cronjob PSTART Daily» [email protected]

PHP:

<?php 
$members = new WA_MySQLi_RS("members", $alpha, 0); 
$members->setQuery("SELECT 

     registration.*, 

     child_base_smqf.child_base_smqf_id, 
     child_base_smqf.child_base_smqf_uid, 
     child_base_smqf.child_base_smqf_open_timestamp, 
     child_base_smqf.child_base_smqf_close_timestamp, 

     parent_base_smqf.parent_base_smqf_id, 
     parent_base_smqf.parent_base_smqf_uid, 
     parent_base_smqf.parent_base_smqf_open_timestamp, 
     parent_base_smqf.parent_base_smqf_close_timestamp 

     FROM registration 
     LEFT JOIN child_base_smqf ON registration.rego_parent_uid = child_base_smqf.child_base_smqf_uid 
     LEFT JOIN parent_base_smqf ON registration.rego_parent_uid = parent_base_smqf.parent_base_smqf_uid 

     WHERE 
     registration.rego_parent_acc_status != 0 AND # NOT OPTED OUT 
     child_base_smqf.child_base_smqf_close_timestamp IS NOT NULL AND # CHILD BASELINE SURVEY HAS BEEN COMPLETED 
     parent_base_smqf.parent_base_smqf_close_timestamp IS NULL # PARENT BASELINE SURVEY HAS NOT BEEN COMPLETED 

     GROUP BY `rego_parent_uid` 
     ORDER BY `rego_id` ASC"); 

$members->execute(); 

while (!$members->atEnd()) { 

// !DEFINE VARIABLES 
    require('cronVariables.php'); 

    echo $members->getColumnVal("rego_parent_uid") . ' - ' .$members->getColumnVal("rego_parent_fname") . " STAMP - " . $members->getColumnVal("child_base_smqf_close_timestamp") . " baseline email reminders - " . $parent_base_surveyReminderTrigger . "<br>"; 

    require('parentBaseReminderEmails.php'); 

    $members->moveNext(); 
?> 
+0

использовать в первую очередь requiere_once() вместо * требуют *, если запустить его в петлю! 2.) убедитесь, что ваш include/include path прав. 3) загляните в свой журнал для получения дополнительной информации. – donald123

ответ

0

никогда не докопались до этого вопроса, но фиксировано его, запустив URL через завиток, а не работает скрипт PHP напрямую из PHP:

/USR/бен/локон -u uname: пароль --silent --compressed http://www.domain.net/dir/cron/cron.php