Many Oxwall CMS users like myself have virtual shared servers with NO access to shell/SSH. So the traditional methods of setting Oxwall cron jobs as shown in the oxwall docs will not work for us.
But using my cpanel, I set up my cron job as instructed. I thought it was working until a week later in my server email box, I had received over 1200 email messages from my server telling me that it could not locate the cron 'run.php' After several attempts at changing the URL path to cron.php in my cpanel it was still not working.
The true culprit is the oxwall default '.htaccess file' it must have an error or it just redirects the server to prevents access to cron.php. (And I think oxwall needs to look at this "Oxwall version 1.41").
Alternative way to resolve the 'file not found' cron error on oxwall.
1 - delete your default .htacess file but put it back immediately after you finish fixing your cron job.
2 - Upload this simple PHP code that I wrote(it is safe and harmless, view it at the bottom of this message). This code will help you to locate your cron.php document root. That is the folder where your cron.php file is located. Make sure you upload the show.php file into the same folder where your cron.php file is. MOST cron job error problems are just because the wrong path to the document root was used.
3 - After uploading the show.php file into your folder. Point your browser to "http://www.yourwebsite.com/ow_cron/show.php" it will print out the correct path your cron.php folder. Copy this information and use it later in your Cpanel to enter the path to your cron job.
4 - Important!. Using your FTP software like fileziller etc, Check the permissions for your 'cron.php' file. make sure that It has owner execute permission. If owner execute permission is not there, you will also get a "file not found error". I had assumed that after entering the path to cron.php, the server would automatically assign execute permissions to the cron.php. I would not count on that.
5. Important! After you have finished setting up your cron job. Put back the original .htaccess file into your server.
Php files are not allowed to be attached so below is the code for show.php
---------------------------------------------------------------------------
<?php
if (isset($_SERVER['DOCUMENT_ROOT']))
{
echo "Your Document Root: ".$_SERVER['SCRIPT_FILENAME']."</b>";
}
if (!isset($_SERVER['DOCUMENT_ROOT']))
{
$_SERVER['DOCUMENT_ROOT'] = substr($_SERVER['SCRIPT_FILENAME'], 0, -strlen($_SERVER['SCRIPT_NAME']));
echo " Your Document Root: ".$_SERVER['DOCUMENT_ROOT']."</b>";
}
?>
---------------------------------------------------------------------------
DISCLAIMER!! I am not an expert, these suggestions are from my personal experience/ personal opinion. So if you want to follow it, do so at your own Risk.