mpm_event無法啟用-http2使用問題
![mpm_event無法啟用-http2使用問題](https://sunho.net.tw/wp-content/uploads/2022/05/s00010.jpg)
之前http2如何在webmin/virtualmin上啟用的文章中有說到mpm_event無法啟用的狀況。由於webmin/virtualmin在安裝php時,也會同時安裝mod_php,雖然虛擬主機預設是使用FCGId的模式(如果主機預設模版沒更動的話),但為了兼容mod_php模式,它會在虛擬主機的conf檔裡加入php_admin_value engine Off這標籤。
mpm_event無法啟用,因為php_admin_value engine Off
在webmin想更新apache模組至mpm_event時,一直會跳回mpm_prefork,webmin當下沒有顯示其它錯誤訊息,所以我也是滿臉問號。
直到我改用終端模式執行啟用指令
a2dismod php7.4
a2dismod mpm_prefork
a2enmod mpm_event
systemctl restart apache2
apache重啟報錯無法啟動,然後檢查apache狀態
systemctl status apache2.service
發現錯誤訊息,就是php_admin_value的錯
AH00526: Syntax error on line 68 of /path/xxx.conf:
Invalid command 'php_admin_value', perhaps misspelled or defined by a module not included in the server configuration
Action 'start' failed.
The Apache error log may have more information.
找到這個虛擬主機conf檔,刪掉php_admin_value engine Off,儲存,重啟apache,噹噹,還是一樣error。
原來所有虛擬主機的conf檔,都被加入這個標籤。全部都找出刪除後,就能順利重啟了。
後記
解決問題是簡單,反倒花比較長的時間在搜尋為什麼有這問題,因為我怕日後進行系統更新,這問題標籤又會被自動加上去…最後找到這篇apache mod_php enabled by default in virtualmin setup,確認mod_php關閉後就不會再加上標籤,新增虛擬主機檢查conf檔也沒有,結案。