我有一个PHP网站,当成员访问某个页面时,会在其中执行一系列数据库维护操作。
例如,在一个常见的页面中,我包含了一个PHP脚本,它检查每个用户发布了多少帖子,并相应地更新数据库给他们打分。
这种方法的问题是,我的网站有100多名会员,我担心随着会员数量的增长,我的脚本会开始变慢。
有没有办法用PHP编写一个机器人程序,这样我的数据库就可以在没有用户干预的情况下更新?
您应该在cron
作业中运行PHP文件。包括共享主机在内的大多数PHP主机都提供cron
访问。
使用cron
,您可以安排任务按间隔运行。然后,这个PHP程序将进行您需要的更新。所以…把你现在做的代码移到一个单独的PHP文件中,然后告诉cron
每小时运行一次,或者你认为合适的时间间隔。
为了获得最佳性能,您需要在用户发布帖子时更新用户表,而不是每次都需要知道他发布了多少帖子。
使用以下命令创建一个每天运行的cron(例如):
php -q /home/cpaneluser/cron.php
并在public_html
之外放置一个cron.php
,其中包含所有维护taks。
或者只允许管理员使用管理面板中的链接执行维护任务。