如何通过SSH运行php脚本?

时间:2009-03-04 19:39:10

标签: php ssh

我有一个相当长的PHP脚本,每当我的互联网连接跳过一秒钟时,浏览器似乎停止了脚本。我不能坐了8个小时让我的脚本运行所以我想我可以通过ssh运行它并在第二天回来并获取我的输出文件。然而,简单地将脚本名称键入ssh似乎不起作用。是否有通过ssh运行php脚本的特殊命令?

6 个答案:

答案 0 :(得分:19)

如果您的互联网连接正在退出,那么这也可能是SSH的一个问题,而且,打开SSH窗口并不总是最好的事情(如果您不小心关闭了会发生什么? ssh窗口?)

我建议SSH进入服务器,然后运行一个名为“screen”的程序,即使连接断开,它也会继续运行你在其中运行的任何内容。

要执行此操作,首先将ssh导入服务器,然后键入

screen

这将加载屏幕,按Enter键以绕过欢迎屏幕

现在,运行PHP脚本

php /path/to/your/php/script.php

这将启动PHP运行,

您现在可以根据需要关闭窗口,脚本将继续运行

要返回屏幕会话,请连接到服务器,然后运行命令

screen -raAD

会重新连接到您的会话,就像您一直打开窗口一样。

这实际上非常适合运行长卷程序,甚至运行基于控制台的IRC会话:D

答案 1 :(得分:8)

通常,您应该能够像命令行一样从

运行脚本
php myscript.php

通过ssh在远程主机上执行此操作可以像这样完成

ssh phpnewb@myhost.com "php myscript.php"

答案 2 :(得分:5)

除了其他人说的话,你可能也想使用nohup

ssh user@host "nohup php script.php"

即使您的 ssh 连接断开,它也会继续运行。如果您愿意,也可以使用screen代替nohup

答案 3 :(得分:2)

尝试

php script.php. 

如果这不起作用,则必须找到php可执行文件,然后执行它。

顺便说一句,您可以使用屏幕,因此如果与计算机的连接丢失,脚本仍会运行。

答案 4 :(得分:0)

或者,您只需拨打ignore_user_abort(),然后在点击页面后关闭浏览器。

答案 5 :(得分:0)

nohup php -q /path-to-script/file.php& 出口

将执行php文件并关闭控制台而不终止该过程。