基本 cron 作业设置为每天执行 php 文件
Posted
技术标签:
【中文标题】基本 cron 作业设置为每天执行 php 文件【英文标题】:Basic cron job set up to execute php file daily 【发布时间】:2012-07-31 13:12:43 【问题描述】:我是使用 cron 作业的新手。我正在尝试每天运行下面的脚本。 Go Daddy 是我的托管服务提供商。我尝试使用 Go Daddy 内置的 Cron Job Manager 创建一个 cron 作业,但没有成功。我想知道是否有人可以帮助我开始创建一个每天运行以下 php 脚本的命令。
有没有办法通过单独修改 .php 文件来设置?
感谢任何建议。
<?php
#!/usr/bin/php
//Create mysql connect variable
$conn = mysql_connect('host', 'user', 'pass');
//kill connection if error occurs
if(!$conn)
die('Error: Unable to connect. <br/>' . mysql_error());
//connect to mysql database
mysql_select_db("mdb", $conn);
$results = mysql_query("SELECT * FROM files");
$name_array = Array();
while($row = mysql_fetch_array($results))
$name_array[] = $row['name'];
shuffle($name_array);
for($i=0; $i < 2; $i++)
echo $name_array[$i];
?>
【问题讨论】:
您无需在代码中执行任何操作,只需将其设置为在 cron 作业管理器中运行php /home/user/php_file_to_run.php
另外,停止使用mysql_*
函数。它们正在被弃用。请改用PDO 或mysqli。如果您不确定要使用哪一个,read this SO article.
@Patrcik,感谢您的回复。
我将上面脚本的内容保存到 cron.php,作为 GoDaddy 的 cron 作业管理器上的“命令”上传到命令文件路径,但是,每次刷新时,“回显”数据似乎都会改变,即使我将其设置为每小时运行一次...?
【参考方案1】:
没有办法在文件中设置,必须用cron来设置。如果您有能力编辑 /etc/crontab,请添加以下行:
01 0 * * * root /usr/bin/php -f /path/to/page
否则,您必须按照说明进行操作 here,或联系 GoDaddy 了解其无法正常工作的原因。
【讨论】:
以上是关于基本 cron 作业设置为每天执行 php 文件的主要内容,如果未能解决你的问题,请参考以下文章