- 论坛徽章:
- 0
|
回复 7# 只是彼岸花
不好意思,这种做法是错误的。 即使放到后台执行,当客户端断开,还是会断掉.
基于你的需求,有两种解决方法,
一种就是在linux下使用nohup /your/php/path/php xxx.php &来执行你的php文件。这样可以防止当你关闭终端时,也挂起了xxx.php
另一种是创建守护进程,使用php的pcntl系列函数可以实现- <?php
- /**
- * 测试使用PHP创建守护京进程
- */
- $pid = pcntl_fork();
- if($pid == -1){
- return false;#fork子进程失败
- }else if($pid > 0){
- usleep(500);#父进程退出
- exit();
- }
- #子进程
- chdir("/");
- umask(0);
- $sid = posix_setsid();
- if(!$sid){
- return false;#创建新回话失败
- }
- for($i=1;$i<=100;$i++){
- sleep(1);
- error_log($i.PHP_EOL,3,'hgy.log');
- }
复制代码 其中php需要支持pcntl扩展,具体安装方法可以百度下。 |
|