最近遇到一個問題,需要更改 php 的配置檔案,在命令列中使用 php --ini
檢視配置檔案的位置,更改之後,重啟 php ,發現並沒有作用。經過學習,發現事情沒有想象中的那麼簡單。
原文,轉到這裡蹭熱度,手動狗頭。
執行模式
php 有很多種不同的執行模式,其中常見的有以下幾種。
- CLI 模式
- CGI 模式
- FastCGI 模式(FPM 模式)
- Module 模式
關於執行模式的詳細解釋,可參考文章。
PHP-FPM(PHP-FastCGI Process Manager)是 php 語言中實現了 FastCGI 協議的程式管理器,由 Andrei Nigmatulin 編寫實現,已被 PHP 官方收錄並整合到核心中。
找到配置檔案
上面說到,php 可以在不同的模式下執行,所以不同的模式下,php 所載入的配置檔案是不同的。例如開頭說到的,在命令列中使用 php --ini
檢視,可以看到一個配置檔案,這個檔案對應的是 cli 模式,即命令列模式。
如果運用程式是 web ,此時 php 處於 FastCGI(FPM) 執行模式下,所以我們需要確認對應的配置檔案。其中一個方法是,在 index.php
中 echo phpinfo()
,然後訪問網站檢視。
修改這裡的配置檔案才會對 web 運用起作用。當然,別忘了重新載入配置或者重啟一下。
其他的配置檔案
通常來說,配置檔案預設都是在 php 的安裝目錄下。例如我的是在 /etc/php/7.3
目錄下。
可以看到有不同的資料夾,對應了不同的執行模式,配置檔案就裝在裡面。
本作品採用《CC 協議》,轉載必須註明作者和本文連結