你好我有一个问题,想知道是否有可能使用php脚本在apache中运行规则。 我会举一个例子 比方说,我想要删除在数据库中注册超过1年的图像。 然后我做一个脚本吧?给它留下它运行在apache这个检查间隔5分钟?在apache上运行的php脚本
回答
不知道你到底想要达到什么目的,但很可能你想在Cron而不是Apache中运行这个脚本。
http://en.wikipedia.org/wiki/Cron
有几个原因不使用Apache:
- 与Apache,脚本会在客户的要求来执行。你永远不知道什么时候下一个请求会发生 - 可能在5分钟内,也许在两年内。
- 一旦脚本启动,您的客户端将不得不等待脚本完成;这将不必要地增加页面加载时间。
要单独运行一个脚本,在命令行中使用
php file.php
。为了让经常跑每x,您使用Cron,您通过命令行访问的大部分时间用命令
crontab -e
但所有这一切假设您可以访问命令行您的服务器上。如果你不这样做,最好只使用Require once将脚本包含在每个页面的顶部,以便每当有人加载你的站点时运行脚本
不是所有情况。例如,要从Cronjob运行,您需要包含PHP位置'/ usr/local/php'。 – 2013-04-26 01:12:22
Apache自身不处理自动化/调度,还有另外一种Linux技术可以让你执行这样的任务。
理由使用cron在阿帕奇
不支持自动化/定时的请求
活动将在用户请求(导航到你的PHP
脚本时进行)一旦用户naviga TES从当前页面了,目前
执行脚本将停止
为什么使用Cronjobs? - 克朗支持定时事件 - 不需要任何用户请求(运行自动化) - 执行脚本,直到它已完成执行 - 控制输出,您可以控制输出推到一个文本 文件记录或转到/ dev/null以销毁所有输出
Down Cides To Cron?
有通常是没有缺点到cronjobs,而一个烦恼的是,在一个服务器管环境,cron将会尝试到电子邮件任何输出(回声,打印,的print_r,的var_dump或任何HTML)到root
别名
这就是所谓的cron job
通常被称为cron
这是什么一样,本质上是喜欢Windows Task Scheduler
它运行在您希望例如参数的任务.. 时间。
以下文本是cronjob的基本条目以及如何访问此文本。
如果您通过cpanel
访问,那么在任务列表底部应该有一个选项。如何使用cPanel创建一个在它自己的页面中进行解释。从命令行
编辑:
使用在这种情况下,我将使用nano文本编辑器..我以root身份运行
nano /etc/crontab
您将被随后介绍基本输入(除非修改)
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd/&& run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || (cd/&& run-parts --report /etc/cron.daily)
47 6 * * 7 root test -x /usr/sbin/anacron || (cd/&& run-parts --report /etc/cron.weekly)
52 6 1 * * root test -x /usr/sbin/anacron || (cd/&& run-parts --report /etc/cron.monthly)
添加以下行(修改以满足您的要求),这一行将每分钟运行一次。
* * * * * root /usr/bin/php /var/www/cron.php # This will run every minute as the root user
布局
* * * * *
- 表示的时间,在这种情况下..每一分钟,每一小时,每一天,每一个星期
root
每个月的 - 这是用户的cron将运行
/usr/bin/php
- 对于兼容性的考虑,您应该包括路径到PHP是安装过
/var/www/cron.php
- PHP脚本的位置执行基于时间表示
的一个cronjob的设置:
与上面的文字此部分的图* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
使用的是什么我已经证明/解释,修改crontab来满足你的要求
如果使用的是Mac安装程序,然后按照这个帖子:
Getting started with cronjobs on a Mac
好运
- 1. 运行Perl脚本从PHP/Apache的
- 2. Php脚本在本地运行Apache与Apache
- 3. 检查脚本是否通过PHP在Apache上运行
- 4. Linux上apache的权限让php运行一个python脚本
- 5. Django Apache - 以脚本运行脚本
- 6. 如何在node.js上运行.php脚本
- 7. 在PHP上运行shell脚本?
- 8. 在Windows 7(64位)上的Apache和Microsoft SQL服务器上运行PHP脚本
- 9. 运行一个PHP脚本,运行一个运行bash脚本的Python脚本,挂在bash上
- 10. 运行脚本时,PHP的exec()在Apache下返回null和255
- 11. 显示哪些PHP脚本的Apache正在运行
- 12. 需要在Apache PHP脚本下运行的ssh-agent
- 13. 在php中运行脚本
- 14. 在Apache中运行CGI脚本
- 15. 如何在本地主机上运行Apache Wild Card脚本?
- 16. 将调试器附加到在apache上运行的python脚本
- 17. 如何在debian上运行Apache调试器的pl脚本?
- 18. 告诉哪些脚本在Apache上运行的方法
- 19. 自运行的PHP脚本?
- 20. 如何在Apache上自动运行PHP
- 21. 在黑莓上运行Apache,php和mysql
- 22. Perl脚本没有在Apache 2.2.15上运行,使用mod_fcgid/Win32
- 23. 如何启用Perl web脚本在Apache上运行?
- 24. 如何通过cgi运行脚本后在apache上重定向
- 25. 在apache上运行python脚本(linux和windows)
- 26. Apache在小牛上运行的PHP版本错误
- 27. Apache以用户nobody身份运行php脚本,cron以用户身份运行php脚本
- 28. 从PHP脚本运行bash脚本
- 29. Bash脚本运行php脚本
- 30. 查找在php中运行的脚本
的疑问句这很难理解。你能展示一些你已经尝试过的代码吗? – hek2mgl 2013-04-26 00:56:15
Apache不会进行调度。你会想要像cron – Phil 2013-04-26 00:56:33
Linux,Windows或Mac? – 2013-04-26 00:56:36