如何通过命令行在服务器上运行php脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过命令行在服务器上运行php脚本相关的知识,希望对你有一定的参考价值。
我创建了一个php脚本来将rss feed导入数据库。必须将数量巨大的饲料(从2004年到2010年,大约200万条记录)插入到数据库中。我一直在浏览器中运行脚本但它插入的速度(大约每秒1次)我怀疑即使我每天24小时运行它也需要另外20-25天输入这些数据。我已经尝试在同一时间在不同的浏览器窗口上运行,并且在过去两天内仅完成了70000条记录。如果我同时运行10-12个实例,我不确定服务器会如何反应。
我客户端的程序员说我可以通过命令行直接在服务器上运行它。谁能告诉我,如果我通过命令行运行它会有多大的不同?还有什么命令行语法来运行它?我在apache,php / mysql。我尝试通过网络获得类似的答案,但它们似乎让我感到困惑,因为我不是系统管理员或Linux的好,虽然我已经完成了svn存储库和在服务器上安装一些apache模块等任务,所以我希望如果有人告诉我该怎么做,我可以管理这个。
速度差异:最小。您节省的只是阻止NET I / O和连接(以及可忽略不计的apache开销)。
怎么做:
bash> php -f /path/to/my/php/script.php
您可能只安装了php for apache的php5-mod
软件包,您可能必须安装实际的命令行解释器,但是很多发行版都安装了这两个。我个人认为你在算法中存在效率问题。花费数天和数天的事情似乎可以通过缓存和最坏情况性能分析(Big-O表示法)来加速。
另外,php vanilla不是很快,有很多方法可以让它变得非常快,但如果你正在进行繁重的计算,你应该考虑c / c ++,C#/ Mono(也许),可能是python(可以预先编译,实际上可能不会更快)。
但强烈建议探索这些其他商店。
只提供要执行的文件名就足够了:
php -f <YourScriptHere.php>
有关documentation的信息,请参阅more command line options。
要在命令行中运行php脚本,只需执行:
php yourscript.php
如果你想让这个过程在后台运行,请执行以下操作:
php yourscript.php &
然后,您可以同时运行多个进程。要标识当前正在运行的脚本的实例,请执行:
ps aux | grep yourscript.php
但是,如果您认为这需要太长时间,请尝试查看代码中是否存在任何瓶颈并对其进行优化。
在linux中:
php -f file.php
类型
php --help
其他选择
您可能还需要-n
选项(没有php.ini
文件)或选项来指定可以找到php-cli.ini
或php.ini
文件的位置。
以上是关于如何通过命令行在服务器上运行php脚本的主要内容,如果未能解决你的问题,请参考以下文章
通过命令行在 Ubuntu(或 Linux)上安装 Anaconda