Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php cron作业在运行脚本时给我错误_Php_Cron - Fatal编程技术网

Php cron作业在运行脚本时给我错误

Php cron作业在运行脚本时给我错误,php,cron,Php,Cron,我对cron jobs很陌生,所以这可能是一个简单的答案,但我不知道这里出了什么问题。我使用cron作业运行php脚本来重命名文件。我知道这个脚本可以工作,因为当我加载php文件时,它会执行它应该执行的操作。但是,cron作业每次都会向我发送一封错误电子邮件。以下是我正在运行的脚本: <?php rename("login/pools.php", "login/poolsbk.php"); ?> 我正在使用cron命令:php-q/home/dollarca/public_html

我对cron jobs很陌生,所以这可能是一个简单的答案,但我不知道这里出了什么问题。我使用cron作业运行php脚本来重命名文件。我知道这个脚本可以工作,因为当我加载php文件时,它会执行它应该执行的操作。但是,cron作业每次都会向我发送一封错误电子邮件。以下是我正在运行的脚本:

<?php
rename("login/pools.php", "login/poolsbk.php");
?>
我正在使用cron命令:php-q/home/dollarca/public_html/renamescript1.php

下面是它生成的错误:警告:renamelogin/pools.php,login/poolsbk.php:第2行的/home/dollarca/public_html/renamescript1.php中没有这样的文件或目录


从它发出的错误来看,在我看来,它试图重命名脚本中的文件,而不是目录中的文件。我是否使用了错误的cron命令

cron运行作业时的工作目录与手动运行脚本的工作目录不同

简单的解决方案是在函数中使用完整路径

rename("/home/dollarca/public_html/login/pools.php", "/home/dollarca/public_html/login/poolsbk.php");

cron运行作业时的工作目录与手动运行脚本时的工作目录不同

简单的解决方案是在函数中使用完整路径

rename("/home/dollarca/public_html/login/pools.php", "/home/dollarca/public_html/login/poolsbk.php");

我想如果手动运行PHP脚本,可以从/home/dollarca/public_html目录执行。如果cron运行它,它就不会这样做。您应该使用绝对文件路径,即/home/dollarca/public_html/login/pools.php,而不是login/pools.php,或者使用chdir先更改到该目录:

<?php
chdir("/home/dollarca/public_html");
rename("login/pools.php", "login/poolsbk.php");
?>

我想如果手动运行PHP脚本,可以从/home/dollarca/public_html目录执行。如果cron运行它,它就不会这样做。您应该使用绝对文件路径,即/home/dollarca/public_html/login/pools.php,而不是login/pools.php,或者使用chdir先更改到该目录:

<?php
chdir("/home/dollarca/public_html");
rename("login/pools.php", "login/poolsbk.php");
?>

登录目录是您的公共html目录的子目录吗?您要重命名的文件的绝对路径是什么?您是否真的想要重命名/login/pools.php而不是login/pools.php。登录目录是您的公共html目录的子目录吗?您想要重命名的文件的绝对路径是什么?有没有可能你真的想重命名/login/pools.php而不是login/pools.php。听起来很合理,我现在就试试看。它似乎不起作用,但我不再收到任何错误。不过,我的服务器时间可能与我自己的时间相差很远。我将从现在开始设置一个小时的时间,然后再试一次。根据逻辑,我现在就尝试一下。它似乎不起作用,但我不再收到任何错误。不过,我的服务器时间可能与我自己的时间相差很远。我会把时间定在一小时后再试一次