3種PHP-CGI

來源:互聯網
上載者:User
PHP CGI 有3種形式:

最強悍的FPM, 功能最強大, 只要配置php-fpm.conf即可;

fpm首頁: http://php-fpm.org/ 使用 spawn-fcgi, 啟動命令: env ? PHP_FCGI_CHILDREN=3 PHP_FCGI_MAX_REQUESTS=1000 spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f php-cgi -P /var/run/spawn-fcgi.pid

使用時, 把www-data替換成自己的使用者名稱和群組名;

參數含義如下:
-f 指定調用FastCGI的進程的執行程式位置,根據系統上所裝的PHP的情況具體設定
-a 綁定到地址addr
-p 綁定到連接埠port
-s 綁定到unix socket的路徑path
-C 指定產生的FastCGI的進程數,預設為5(僅用於PHP)
-P 指定產生的進程的PID檔案路徑
-u和-g FastCGI使用什麼身份(-u 使用者 -g 使用者組)運行,Ubuntu下可以使用www-data,其他的根據情況配置,如nobody、apache等
然後我們可以將這行代碼加入到/etc/rc.local檔案底部,這樣系統啟動的時候也可以同時啟動PHP的FastCGI進程。

直接啟動php-cgi, 使用命令: php-cgi -b 127.0.0.1:9000

不過這時php-cgi是使用目前使用者身份, 執行session等相關操作會出錯, 如果web使用者(如ubuntu下的www-data)是可以登入的, 則使用命令: su www-data -l -c “php-cgi -b 127.0.0.1:9000″

如果www-data不能登入(bash位/bin/false), 那麼直接修改使用者權限,

sudo chown www-data:www-data which php-cgi
sudo chmod u+s which php-cgi

BTW: 近段時間看ZF手冊,開頭有這麼一句: 對於只包含有 PHP 代碼的檔案,結束標誌(”?>”)是不允許存在的,PHP自身不需要(”?>”), 這樣做, 可以防止它的末尾的被意外地注入相應。 暈倒~~ 我這會兒才知道有這茬

http://mifunny.info/run-php-as-cgi-339.html

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.