我需要帮助我的cronjob实验,我无法完成我想要的。以下是我做的事情。
/var/www/html/bob/test/index.php
我的 index.php
<?php
$myfile = fopen("testfile.txt", "w");
?>
crontab -e 的各种测试参数无效
*/1 * * * * root /usr/bin/php /var/www/html/bob/test/index.php
*/1 * * * * root /var/www/html/bob/test/index.php
*/1 * * * * root php -q /var/www/html/bob/test/index.php
*/1 * * * * root /var/www/html/bob/test/index.php
查看我的一些 / var / log / cron 我没有看到任何错误指示。
Sep 6 15:55:01 localhost CROND[4866]: (root) CMD (root /var/www/html/bob/test/index.php)
Sep 6 15:56:01 localhost CROND[4872]: (root) CMD (root /var/www/html/bob/test/index.php)
Sep 6 15:57:01 localhost CROND[4878]: (root) CMD (root /var/www/html/bob/test/index.php)
最后,当我通过#php /var/www/html/bob/test/index.php
运行我的php时,代码执行正常并创建该文本文件。
答案 0 :(得分:0)
您需要从cronjob中删除root
。该日志显示它正在尝试以/var/www/html/bob/test/index.php
作为参数执行名为root的程序。
相反,请使用以下内容作为您的cronjob:
*/1 * * * * /usr/bin/php /var/www/html/bob/test/index.php
This answer指出,如果您要设置要运行的cronjob的用户,则必须直接编辑/etc/crontab
,而不是使用crontab -e
。
答案 1 :(得分:-1)
1 * * * * /usr/bin/php /var/www/html/bob/test/index.php
如果这不起作用,那么你有一个许可问题,尝试使用chown和chmod来给予正确的权限
和$ myfile = fopen(“testfile.txt”,“w”);尝试使用文件testfile.txt的绝对路径,如:
$myfile = fopen("/home/xxxx/testfile.txt", "w");