为何在cmd下执行php 文件 有什么特殊作用呢? 干嘛不在浏览器里跑? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 批处理(windows)过于简单,shell(linux)语法怪异两者都不能很好的完成临时性的批量工作使用高级语言编写程序,依然有个学习的过程既然已经学会了 php,而 php 又具备此功能。何乐而不为呢? 有些php功能,浏览器无法达到预期的效果,那么在cmd中则有可能实现,例如以前遇到过的一个socket问题,忘记是哪个,当然了,最主要的还是php相对于系统(windows/linux)可以达到类似shell与linux的作用 还有 浏览器有时候后会跑挂掉,用cmd就不用担心了 用我的话说就是方便。其次一个在cmd下有感官刺激作用... cmd运行简单的程序还是可以的。感官效果还是不错的。ie运行有时会出现卡死的效果。 cmd运行简单的程序还是可以的 1.我偷师 看了下 比如文件是test.php 就到apache目录下输入 php test.php 就可以了 反正他是任何php文件都往cmd里跑,就输出一字符也是,看得人眼花缭乱。难道装出来唬人的.... 2.cmd下应该不存在浏览器里刷不出来 使劲刷新的情况吧。 cmd => php -r "echo 'just a demo';" 我给你列举了3点:1 可以方便的通过crontab来定时执行任务。如果你的业务部门要你每周一凌晨1点将上一周的销售数据通过邮件发送给他你怎么做?1点钟爬起来运行某个url来执行你的脚本?2 使用cli运行脚本是会单独开启进程,你不结束这个进程程序就不会停止。而你通过浏览器执行,一旦浏览器无意被关闭程序也会停止,虽然有个函数可以使得apache将任务交给apache的进程来控制。但它仅支持apache。3 php本身不支持多线程,我们一般使用多进程来模拟多线程。假如现在要你去采集一个网站。比较理想的做法是开一个进程抓取所有类别列表页id,然后写到第三方内存数据库中。再开一个进程,从内存数据库中提取另一个进程抓取到的列表页id,拼出url再去抓文章。这样来模拟多线程的工作方式。当然,这些工作其实更加适合使用shell,perl,python去完成。但shell在某些方面确实比较弱,尤其当有与数据库交互的操作时非常麻烦。perl和python不错,如果你会他们的话可以用他们来完成这类工作。否则,就需要用cli模式来执行php脚本。 其实使用cli模式执行php脚本的时候,类似shell脚本你还可以在php文件头部加入一句:#! /usr/local/webserver/php/bin/php<?php....?>指定php的bin文件的位置,这样调用的时候就可以直接写你的php脚本文件名称/home/xxx/myfile.php而不用/usr/local/webserver/php/bin/php /home/xxx/myfile.php不过/home/xxx/myfile.php需要chmod +x /home/xxx/myfile.php 很有用!使用环境往往是:php+crontab1 比如榜单,可以建一个表,用crontab定时调用php处理,再把处理后的数据插入表,这个表就可提供你的项目了。2 监控脚本,使用php发邮件功能,就算你的邮箱是ssl加密也没关系。把监控的情况发送到139,然后你的关联手机就收到短信。比如监控数据库连接数,系统负载。。等等了,因为php可以调用程序和sh脚本,就看你能不能想到了。 业务部门要求我做销售监控预警系统。每隔10分钟扫描订单表,是否有新的订单被成功支付。否则就发送短信给某些人。每隔10分钟扫描订单表,这个可以用crontab配合shell脚本简单完成,但是发送短信。我们公司的短信sdk接口是其他们部门用php写的。shell没法直接调用php的类。所以这个脚本我就只能用php写,然后放到crontab里10分钟执行一次。所有cli模式有时还是很有用的,并不是为了装b。 现在有两个表 查询 网站想要重新构建,请教一些问题 师妹请教!哪位师哥有Ajax判断文件大小的例子! 转换时间格式 php能象vc++||java一样有线程吗? 求助:请大家帮我看看这段代码的问题出在什么地方? 菜鸟一问!! 表弟提交后页面刷新问题! 如何把金额的小数形式翻译成中文形式,比方说1.1¥翻译成壹圆壹角? 不用<form>...</form>怎么上传文件阿???急!!!!!! 一个JAVA函数想翻译成PHP函数 怎样在php中执行SQL替换字段 PHP用GET的方式获取selectd中option的value值无效,请问怎么了?
两者都不能很好的完成临时性的批量工作使用高级语言编写程序,依然有个学习的过程既然已经学会了 php,而 php 又具备此功能。何乐而不为呢?
2.cmd下应该不存在浏览器里刷不出来 使劲刷新的情况吧。
如果你的业务部门要你每周一凌晨1点将上一周的销售数据通过邮件发送给他你怎么做?1点钟爬起来运行某个url来执行你的脚本?2 使用cli运行脚本是会单独开启进程,你不结束这个进程程序就不会停止。而你通过浏览器执行,一旦浏览器无意被关闭程序也会停止,虽然有个函数可以使得apache将任务交给apache的进程来控制。但它仅支持apache。3 php本身不支持多线程,我们一般使用多进程来模拟多线程。假如现在要你去采集一个网站。比较理想的做法是开一个进程抓取所有类别列表页id,然后写到第三方内存数据库中。再开一个进程,从内存数据库中提取另一个进程抓取到的列表页id,拼出url再去抓文章。这样来模拟多线程的工作方式。当然,这些工作其实更加适合使用shell,perl,python去完成。但shell在某些方面确实比较弱,尤其当有与数据库交互的操作时非常麻烦。perl和python不错,如果你会他们的话可以用他们来完成这类工作。否则,就需要用cli模式来执行php脚本。
#! /usr/local/webserver/php/bin/php
<?php
....
?>指定php的bin文件的位置,这样调用的时候就可以直接写你的php脚本文件名称
/home/xxx/myfile.php
而不用
/usr/local/webserver/php/bin/php /home/xxx/myfile.php不过/home/xxx/myfile.php需要chmod +x /home/xxx/myfile.php