php.ini 檔案在哪裡?

青風百里發表於2020-03-01

最近遇到一個問題,需要更改 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.phpecho phpinfo(),然後訪問網站檢視。

php.ini 檔案在哪裡?

修改這裡的配置檔案才會對 web 運用起作用。當然,別忘了重新載入配置或者重啟一下。

其他的配置檔案

通常來說,配置檔案預設都是在 php 的安裝目錄下。例如我的是在 /etc/php/7.3 目錄下。

php.ini 檔案在哪裡?

可以看到有不同的資料夾,對應了不同的執行模式,配置檔案就裝在裡面。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

青風百里

相關文章