与学生注册网站相关,我有一个每天早上 5:00 运行的 PHP 文件,用于检查尚未支付费用的学生。如果学生没有支付费用,他们将被退学。这个文件被调用dropstudent.php,这是文件夹层次结构:
cronjobs/
|
|- dropstudent.php
|- flag.txt
该flag.txt文件只包含一个词 - true或false。如果该标志设置为 true,学生只能支付费用(在网站其他地方的 PHP 文件中处理)。
现在,在我们丢弃学生之前,我们将标志设置为 false,执行检查并执行必要的丢弃。最后,我们将此标志设置回 true。
到目前为止,这工作得很好,没有人碰过这段代码。但是最近,我们一直在抱怨学生无法支付费用。我查看了它,结果发现我们将标志重置为 true 的步骤不起作用,因为标志更改为 false 但不会返回 true。
这是我的代码:
#!/opt/rh/php55/root/usr/bin/php
<?php
// require '../dbmanage.php';
require '/path to college servers/dbmanage.php';
logCronJob("dropstudent", "begin");
$filepath = '/path to college servers/cronjobs/flag.txt';
// Change flag to false
$myfile = fopen($filepath, "w") or die("Unable to open file!");
$txt = "false";
fwrite($myfile, $txt);
// do the drop checks and other relevant stuff here
// Change flag back to true
$myfile = fopen($filepath, "w") or die("Unable to open file!");
$txt = "true";
fwrite($myfile, $txt);
fclose($myfile);
如果有人能告诉我如何找出这里出了什么问题,以及我能做些什么来解决它,那就太好了。如果需要,我可以发布更详细的代码(检查和删除)。
哔哔one
慕虎7371278