Forcing cron jobs to use chosen php version

In all but our oldest servers, we have implemented a feature that allows you to chose what version of php you want to use on your account. While this works well for files running normally for your site, it will not work for cron jobs. Cron jobs will use the default php for the server if set up as directed in our article on How to run a cron job. You will need to specifically identify the php version ‘switch’ to have the cron job use that version for running your scheduled scripts. Below is a set of instructions that will guide you on how to edit the cron job command to use the specific switch.

How to force a specific php version for cron jobs

  1. First, log into your cPanel dashboard.
  2. Now that you are in the main cPanel area, find the Advanced category and click on the Cron Jobs icon.
    cpanel cron jobs paper lantern
  3. This takes you to the cron job set up page. At the bottom of the screen you will see the cron jobs you have currently scheduled. Click on the Edit link on the right to edit the cron command.
    cpanel cron cronlist

  4. You will now see the command line field so you can edit it. The cron command is in two parts, the first part calls the php and the second part is the path for the script you want to run. The command code for the sample cronjob is displayed below:
    php -q /home/userna5/public_html/cronscript.php

    We want to replace the first part of the code (php -q) with (/opt/php54/bin/php -q) for php 5.3 and above:

    /opt/php54/bin/php -q /home/userna5/public_html/cronscript.php

    or (/opt/php52/bin/php -q) for php 5.2 as shown:

    /opt/php52/bin/php -q /home/userna5/public_html/cronscript.php
  5. Enter the new code at the beginning of the command, then click the Edit Line button to save it. This cron job will now use your correct php version. You will need to do this for each cron job so that they are certain to use the correct php version.

Thoughts on “Forcing cron jobs to use chosen php version

Was this article helpful? Let us know!