首页 > 解决方案 > 在 Centos 7 上启用 PHP 扩展

问题描述

我想使用 Ngnix 运行 Drupal,但是一旦我安装了 ngnix,drupal,我看到了这个:

Drupal requires you to enable the PHP extensions in the following list 
(see the system requirements page for more information):
 dom
 gd
 pdo

我有显示这些模块未加载的 php 脚本:

<?php
 $dom = extension_loaded( 'dom');
 $gd = extension_loaded( 'gd');
 $pdo = extension_loaded( 'pdo');
 echo '<p>Hello Bogus Drupal, from Tommy the Geek</p>';
 echo "GD: ", extension_loaded('gd') ? 'OK' : 'MISSING', '<br>';
 echo "dom: ", extension_loaded('dom') ? 'OK' : 'MISSING', '<br>';
 echo "PDO: ", extension_loaded('pdo') ? 'OK' : 'MISSING', '<br>';
 echo "zip: ", extension_loaded('zip') ? 'OK' : 'MISSING', '<br>';
?>

输出如下所示:

GD: MISSING
dom: MISSING
PDO: MISSING
zip: OK

即使“php -m”显示模块可用于命令行界面:

# php -m | grep [dgP][oDd]
dom
gd
PDO
pdo_sqlite
wddx

. 如何使它们可用于 Web 服务器?

标签: phpmodule

解决方案


假设您使用的是 Google 的虚拟机,运行 Centos 7:

  1. 查找 php 扩展,例如:

    # find / -name wddx.so
    /usr/lib64/php/modules/wddx.so
    
  2. 找到 php.ini:

    # find / -name php.ini
    /etc/php.ini
    
  3. 编辑 php.ini 并更改 extension_dir 指令:

    ; Directory in which the loadable extensions (modules) reside.
    extension_dir = "/usr/lib64/php/modules/"
    

推荐阅读