Bind
無法將 spawn-fcgi 綁定到地址
按照一些很好的說明,我幾乎完成了將 PHP 設置為在 nginx 上執行。但是,每次我嘗試啟動 spawn-fcgi 時都會收到一條錯誤消息
demo@desktop:/usr/bin$ sudo /etc/init.d/php-fastcgi start spawn-fcgi: bind failed: Cannot assign requested address
我的 /etc/init.d/php-fastcgi 啟動腳本是:
#!/bin/bash PHP_SCRIPT=/usr/bin/php-fastcgi FASTCGI_USER=demo RETVAL=0 case "$1" in start) su - $FASTCGI_USER -c $PHP_SCRIPT RETVAL=$? ;; stop) killall -9 php5-cgi RETVAL=$? ;; restart) killall -9 php5-cgi su - $FASTCGI_USER -c $PHP_SCRIPT RETVAL=$? ;; *) echo "Usage: php-fastcgi {start|stop|restart}" exit 1 ;; esac exit $RETVAL console output
載入 /usr/bin/php-fastcgi
#!/bin/sh /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u demo -f /usr/bin/php5-cgi
需要注意的一件事是,我以使用者“demo”的身份執行 PHP cgi,這是我的帳戶。
更新
我手動執行了 spawn-fcgi 命令並且它起作用了。奇怪的…
sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u demo -f /usr/bin/php5-cgi
9000 埠上還有其他東西在監聽嗎?
netstat -tnap | grep LIST | grep 9000
另一方面,我建議使用 strace 啟動腳本來檢查系統呼叫:
sudo strace -f -o strace.output /etc/init.d/php-fastcgi start
然後看一下文件
strace.output
,尤其是最後幾行。strace
總是好的“開導”方式。希望這可以幫助。