在Centos 7上启用PHP扩展

在Centos 7上启用PHP扩展,php,module,Php,Module,我想使用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');

我想使用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>';
?>
尽管“php-m”显示命令行界面可以使用这些模块:

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

。如何将它们提供给web服务器?

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

  • 查找php扩展,例如:

    # find / -name wddx.so
    /usr/lib64/php/modules/wddx.so
    
  • 查找php.ini文件:

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

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

  • 也有同样的问题,这对我来说很有效

    服务php fpm重启

    可能需要执行
    服务php72 fpm重新启动
    ,具体取决于版本


    您可以运行
    ps-ef | grep php
    尝试根据正在运行的进程理解服务名称。

    对我有效的解决方案是安装Open-SUSE
    然后安装php应用程序
    
    #zyyper日志| grep php
    2019-12-24 13:40 449 1.14.33 zypper安装php7
    2020-03-25 16:19 10705 1.14.33 zypper安装php7
    php7 mysql apache2-mod_php7
    2020-03-31 11:26 26810 1.14.33 zypper安装php7 zlib
    2020-03-31 13:32 30329 1.14.33 zypper安装php7 gd
    

    也许您有不同的用于cli和webserver的php.ini文件?是的,您是对的。我认为有效的修复,停止了工作
    ; Directory in which the loadable extensions (modules) reside.
    extension_dir = "/usr/lib64/php/modules/"