登陆

win10 Apache24+PHP8.0,Apache不能正常加载php.ini。

httpd.conf中已进行以下配置

LoadModule php_module "D:\php\php8apache2_4.dll"
<ifModule php_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</ifModule>
PHPIniDir "D:/php"

在php.ini中打开curl、mbstring、gd、openssl模块,用php -S <host> 来提供web服务的话,在phpinfo中可以看到这些模块被加载。

但用Apache来提供web服务的话,phpinfo没有显示这些模块被加载。

用下面代码来测试,Apache下会显示“没有gd“,即表示没有加载gd功能。

function checkRequirements()
{
    if (extension_loaded('gd')) {
        $gdInfo = gd_info();
        if (!empty($gdInfo['FreeType Support'])) {
            echo "gd成功";
            return 'gd';
        }
    }else{
       echo "没有gd";
    }
 }

checkRequirements();

把php8换成php7.4情况是一样的。

求助是什么回事?

# PHP
hdmoviehdmovie35 天前198 次浏览

全部回复(1)我要回复

  • hdmovie

    hdmovie2021-12-17 10:47:41

    找到原因了,是php.ini里没有正确配置extension_dir,要把默认的ext改为绝对路径。否则Apache会报加载不成功。

    回复
    0
  • 取消回复发送