【发布时间】:2016-05-27 12:36:22
【问题描述】:
所以我想定期在我的应用程序中运行一个脚本,该脚本在我在 openshift PaaS 上运行。我想定期从我的数据库中删除一些条目。 我已经安装了 CRON 墨盒,并放置了一个 bash 脚本,如下所示:
#!/bin/bash
php /erase.php
在 .openshift/cron/minutely 中,它应该每分钟运行一个脚本。我把erase.php放在我的git存储库的根文件夹中,所以我认为上面的代码没有错误。 我的 erase.php 看起来像这样:
<?php
try {
$bdd = new PDO('mysql:host=127.*.***.*:****;dbname=track', '****', '*****');
} catch(Exception $e) {
exit('Unable to connect to db.');
}
$sql = "DELETE FROM table";
$q = $bdd->prepare($sql);
$q->execute();
?>
据我所知,上面的代码没有任何问题。我还有什么遗漏的吗?
编辑: 问题解决了,在 bash 脚本中路径必须是这样的: php $OPENSHIFT_REPO_DIR/erase.php
【问题讨论】:
-
那么使用这段代码会发生什么?
-
1.此代码中无需使用准备好的语句。 2. 为什么不尝试在这段代码中添加一些错误处理和日志记录?
-
喜欢计数或任何消息?
-
我真的不知道怎么做。我的意思是,如果我自己运行这个 php 脚本,它可以正常工作。对于 bash 脚本,我不知道如何添加错误处理以及究竟是为了什么?
-
cron 脚本是否可执行?
标签: php mysql git cron openshift