开发statusNet的过程中必不可少要遇到使用daemons的情况,来运行一些后台程序。但是,如果你租用的服务器并不能提供给你这那大的自由度,而无法重新编译php,也无法自编译pcntl.mo文件,这可如何办呢?难道就没有办法解决call to undefined function pcntl_fork()错误了吗?
如果无法运行后台守护进程的话,那就意味着可能无法与其它的服务同步信息,比如说无法与twitter或者facebook同步信息。
为了能绕开pcntl,我试着屏弊掉与pcntl有关的所有语句,让daemons不在伪多线程下运行。试着换成使用在ssh下nohup命令下运行daemon程序。命令如下:
chmod +x yourApp.php nohup yourApp.php>yourApp.out 2>&1&
但是现在问题还是有很多。nohup本来是可以让程序在后台运行,即使退出ssh也可以继续运行。但是我遇到的情况是一但断开联接,程序就退出了。至于原因,一时不明所以。
但是至少这意味着,只要ssh不退出,就可以让daemon运行。
因为已经完成了twitter的同步连接程序,所以希望它可以维持一段时间。
转载请注明文章来自糗世界博客
