Centos 7安裝php-fpm及使用mpm event

mpm要修改成event模式時,在預設狀況下修改apache的config 重啟apache會有錯誤

#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so
LoadModule mpm_event_module modules/mod_mpm_event.so
Syntax error on line 31 of /etc/httpd/conf.d/php.conf: event

參考資料Apache的三种MPM模式比较:prefork,worker,event

ps.怎麼知道目前apache是什麼模式呢?可以輸入

httpd -V

Server MPM:event

httpd-V

為了解決這個問題,把php_value session部份設定為prefork時才使用或整個mark掉

php-conf
<IfModule mpm_prefork_module>
  php_value session.save_handler "files"
  php_value session.save_path    "/var/lib/php/session"
</IfModule>

再來需要安裝及使用fastCGI或php-fpm來處理php,如果安裝那php部份可能會直接顯示code出來,而不會進行轉譯

yum -y install php-fpm
nano /etc/httpd/conf.d/php.conf

修改

# line 5: change like follows
<FilesMatch \.php$>
#    SetHandler application/x-httpd-php
    SetHandler "proxy:fcgi://127.0.0.1:9000" 
</FilesMatch>

然後把php-fpm啟動及設成開機啟動

systemctl start php-fpm 
systemctl enable php-fpm 
systemctl restart httpd

參考資料CentOS 7 : Apache httpd : PHP + PHP-FPM : Server World

restart apache後就可以了

發表迴響