2

Iam trying to develop a cron job for a command to send email. I am completely new to cron jobs so I dont really know how it works.

Trying the command by myself in the console works perfectly. But when a set a cron job in CPANEL its not workingrs. I am using Laravel 5, can anyone help please?

Thanks!

My cron job: php /home/reporting/public_html/bsk/artisan schedule:run >> /dev/null 2>&1

My Kernel.php

enter image description here

My class emailUser

enter image description here

Pierre.Vriens
  • 2,049
  • 60
  • 24
  • 39
sara
  • 23
  • 6
  • Have you tried running the command directly from your terminal to see if there are any errors? – Jerodev Mar 31 '17 at 08:33
  • You might have to set the absolute path for php. – Rwd Mar 31 '17 at 08:39
  • Wouldn't it be easier if you copy&paste `text code`, instead of posting links to pictures?... Those links will expire sooner or later :( – סטנלי גרונן Mar 31 '17 at 08:41
  • This link http://stackoverflow.com/questions/132971/what-is-the-windows-version-of-cron might be usefull. Also need to provide full path to PHP in your CRON command. – Viktor Mar 31 '17 at 08:46
  • @Jerodev yes I already try command by the terminal and it works perfectly – sara Mar 31 '17 at 08:55
  • Now i receive this error Running scheduled command: '/usr/bin/php' 'artisan' email:user > '/dev/null' 2>&1 & [Symfony\Component\Process\Exception\RuntimeException] The Process class relies on proc_open, which is not available on your PHP installation. – sara Mar 31 '17 at 12:38

2 Answers2

1

In Cpanel: (cPanel & WHM version 62)

Follow the menus : HomeAdvancedCron Jobs and add :

php /home/reporting/public_html/bsk/artisan schedule:run >> /dev/null 2>&1

For Reference : /home/user/public_html/index.php

On a Unix/Linux Server: use the cmdline crontab -e to enter the cron editor and add the line :

* * * * * php /var/www/project/artisan schedule:run >> /dev/null 2>&1
Community
  • 1
  • 1
Gowthaman D
  • 557
  • 5
  • 17
  • Thanks for your answer but i didnt understand what you meen by For Reference --->/home/user/public_html/index.php – sara Mar 31 '17 at 08:59
  • that is example or sample url sara – Gowthaman D Mar 31 '17 at 10:57
  • Now i receive this error: Running scheduled command: '/usr/bin/php' 'artisan' email:user > '/dev/null' 2>&1 & [Symfony\Component\Process\Exception\RuntimeException] The Process class relies on proc_open, which is not available on your PHP installation. – sara Mar 31 '17 at 12:37
0

Cron Job will not work, if you are about to schedule the command as once a day (i.e., 00:00) iff, same time is not reflected in a $schedule->command(); object

If the commands were incorrect, I used to get this warning in my Email as

PHP Warning:  Module 'magickwand' already loaded in Unknown on line 0
Status: 404 Not Found
X-Powered-By: PHP/5.6.37
Content-type: text/html; charset=UTF-8

No input file specified.

In Kernel.php you should specify

/**
 * Define the application's command schedule.
 *
 * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
 * @return void
 */
protected function schedule(Schedule $schedule)
{
    $schedule->command('SyncAPIOrders:orders')
               ->timezone('Asia/Kolkata')
               ->dailyAt('00:00');
}

You should add the command from the cPanel server as

/usr/local/bin/php /home/xyz/public_html/artisan schedule:run 1>> /home/xyz/public_html/log_laravel 2>&1

This will keep all the logs in /home/xyz/public_html/log_laravel

Running scheduled command: '/opt/cpanel/ea-php71/root/usr/bin/php' 'artisan' SyncAPIOrders:orders > '/dev/null' 2>&1
Nɪsʜᴀɴᴛʜ ॐ
  • 2,126
  • 3
  • 22
  • 43