nginx 反代 到 8787 端口
在xshell中,進(jìn)入程序根目錄下
執(zhí)行 php start.php start 調(diào)試正常
執(zhí)行 php start.php start -d ,如果不關(guān)閉當(dāng)前ssh終端,也是正常
如果一旦關(guān)閉了當(dāng)前 ssh終端窗口,網(wǎng)站就是 502,而另開一個(gè)ssh終端,執(zhí)行 php start.php status 顯示進(jìn)程都在,
php版本
此時(shí)正常網(wǎng)站, 關(guān)閉當(dāng)前ssh窗口后,刷新網(wǎng)頁(yè)502
另開一個(gè)ssh終端, 執(zhí)行 php start.php status,看起來似乎無錯(cuò)
nginx配置
location / {
error_page 403 = @webman;
error_page 404 = @webman;
error_page 405 = @webman;
try_files ${uri} ${uri}/ ${uri}/index.html @webman;
}
## WEBMAN LOCATION
location @webman {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8787;
}
====
已解決
在 502時(shí),runtime下error.log 沒有產(chǎn)生錯(cuò)誤或異常日志,只有 master.log 里提示 進(jìn)程退出 exit with status 65280
目前問題解決了。 方法是:刪掉控制器中所有 echo 和 print_r 輸出,就可以了。
具體為什么不知道,總之反復(fù)測(cè)試發(fā)現(xiàn),刪掉這些輸出就正常,加上后daemon模式就502。
lsof -np 28010
是用root用戶操作的嗎?
是的。初步判斷貌似和 afterAction(Request $request, $response) 有關(guān),我刪掉了 afterAction 方法就可以了,但只要加上,即使 afterAction 函數(shù)體為空也不行
在 502時(shí),runtime下error.log 沒有產(chǎn)生錯(cuò)誤或異常日志,只有 master.log 里提示 進(jìn)程退出 exit with status 65280
目前問題解決了。 刪掉了 方法里所有的 echo 和 print_r 輸出,就可以了。具體因?yàn)槭裁床恢?,總之刪掉這些輸出就正常,加上就502
可能你使用的PHP版本有問題,比如使用了dev版本。運(yùn)行php -v 貼下結(jié)果,貼全
PHP 8.1.7 (cli) (built: Jun 10 2022 12:03:08) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.7, Copyright (c) Zend Technologies
截圖已貼
執(zhí)行l(wèi)sof -np 22696(22696是php start.php status里看到的一個(gè)子進(jìn)程的pid),執(zhí)行l(wèi)sof -np 22696截圖下后半部分
看樣子是標(biāo)準(zhǔn)輸出沒有重定向成功,之前遇到過1-2個(gè)用戶反饋這樣的案例,換個(gè)php版本就好了?;蛘叽a里不打印數(shù)據(jù)也行