在 apache2 中使用哪一個正確的 php.ini 檔案?

在 apache2 中使用哪一個正確的 php.ini 檔案?

運行 16.04,燈組設定並運作正常。 /etc 中顯示了多個版本的 php:

/etc/php/7.0/apache2/php.ini、/etc/php/7.1/apache2/php.ini 和 /etc/php/7.2/apache2/php.ini

/etc/php/7.0/cli/php.ini 等也有類似情況。在終端機視窗中,輸出

php -i | grep 'php.ini'

Configuration File (php.ini) Path => /etc/php/7.2/cli

載入的設定檔 => /etc/php/7.2/cli/php.ini 所以我認為在命令列運行 php 使用的是 php 版本 7.2

我的 info.php 檔案(http://localhost/info.php顯示 apache2 使用的是 php 7.0 版本:

PHP 版本 7.0.27-1+ubuntu16.04.1+deb.sury.org+1 如何讓 apache2 使用 php 版本 7.2?

答案1

mod_php您可以為 apache2啟用不同的功能。嘗試

$ a2enmod php7.2

這應該禁用以前的版本並/etc/apache2/mods-enabled/php7.2.conf使用正確的php.ini位置創建。

如果您沒有此模組,請執行$ apt-get install libapache2-mod-php7.2.

請記住,您需要重新啟動 apache2 才能看到載入模組的變化。

答案2

檢查你的阿帕契配置查看 apache 正在載入哪些模組。你應該尋找這樣的一行:

LoadModule auth_basic_module modules/libphp7.so

並將其變更為您要使用的 php 模組。更像這樣的東西:

LoadModule auth_basic_module modules/libphp72.so

當然,這假設您在 apache 的模組目錄中有 php 模組。

你也可以指定一定php.ini要供apache使用。

相關內容