Есть два пути запуска пхпшного файла через cron:
1) В кроне нужно указывать полный путь к php интерпретатору (по умолчанию это /usr/local/bin/php или это зависит от операционной системы и как сконфигурирован php в ней) + имя запускаемого файла + вывод в файл (необязательно). Пример:
* 1 * * * /usr/local/bin/php /www/mysite/www/htdocs/tet/test.php >> /www/mysite/www/htdocs/tet/cron.log
2) Можно в кроне указать только файл:
* 1 * * * /www/mysite/www/htdocs/tet/test.php >> /www/mysite/www/htdocs/tet/cron.log
Но тогда накладываются такие ограничения, файл test.php должен быть исполняемым (+x) и в начале этого файла должен быть путь к интерпретатору, в нашем случае это /usr/local/bin/php, т.е.
полная строка такая "#!/usr/local/bin/php"
как написал Anton. Обрати внимание, что если в конце будет стоять виндовый перевод строки, выдастся ошибка:
"file not found" или если запустить его вручную: "bad interpreter: No such file or directory"
Конечено же предварительно надо запустить файл вручную (из командной строки), чтобы проверить а работает ли он вообще.
Тестовый пример мог и не работать при неправильной настройке php или проблемы с почтовым сервисом в ОС, как показал опыт, функция mail даже при неудачной попытке отправки почты возвращает TRUE
Самый простой пример, сделай скрипт с выводом echo("Cron started " . date("Y/m/d H:i:s") . "\n")
а в крон запиши как я указал выше.
После запуска cron, cron.log будет каждый раз пополняться, кстати права на запись в папку tet должны стоять у того пользователя, под которым создан cron
Иногда бывает заблуждение у многих пользователей, если apache запущен под пользователем www, то и все что делается в php над файловой системой, также с правами www,
крон же обычно запускается под другим пользователем (допустим ваша учетная запись у провайдера)
Иногда это приводит к некоторым конфликтам на доступ к файлу, когда скрипт одновременно испльзуется и через Web и через Cron
Удачи!