我想使用 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
Run Code Online (Sandbox Code Playgroud)
我有显示这些模块未加载的 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>';
?>
Run Code Online (Sandbox Code Playgroud)
输出如下所示:
GD: MISSING
dom: MISSING
PDO: MISSING
zip: OK
Run Code Online (Sandbox Code Playgroud)
即使“php -m”显示模块可用于命令行界面:
# php -m | grep [dgP][oDd]
dom
gd
PDO
pdo_sqlite
wddx
Run Code Online (Sandbox Code Playgroud)
. 如何使它们可用于 Web 服务器?
假设您使用的是 Google 的虚拟机,运行 Centos 7:
找到 php 扩展,例如:
# find / -name wddx.so
/usr/lib64/php/modules/wddx.so
Run Code Online (Sandbox Code Playgroud)
找到 php.ini:
# find / -name php.ini
/etc/php.ini
Run Code Online (Sandbox Code Playgroud)
编辑 php.ini 并更改 extension_dir 指令:
; Directory in which the loadable extensions (modules) reside.
extension_dir = "/usr/lib64/php/modules/"
Run Code Online (Sandbox Code Playgroud)