15

我最近发现了 NginX,并决定在我的服务器上尝试一下。我有 NginX 正在运行并且能够提供 PHP 和 HTML 文件。但现在我想尝试安装drupal。在尝试安装它并检查要求时,我被一项要求阻止了。

PHP 扩展已禁用

Drupal 要求您启用以下列表中的 PHP 扩展(请参阅系统要求页面了解更多信息):

gd

我试图通过做来安装gd apt-get install php5-gd,它说它已经安装了。所以我创建了一个phpinfo()文件,并检查是否启用了 gd 并且我无法找到它。这与 NginX 或 PHP 有关吗?我该怎么做才能解决这个问题?

4

6 回答 6

31

Since you are using Nginx - that must mean you are running PHP with PHP-FPM.

After you install stuff you need to:

sudo /etc/init.d/php-fpm restart 

or

service php5-fpm restart

in newer ubuntu versions

so that PHP will pickup the new extensions.

于 2012-01-13T23:36:50.833 回答
4

如果您的 Web 服务器设置正常,只需安装 php gd 扩展并重新启动 php 脚本解释器和 Web 服务器。

sudo apt-get install php5-gd
sudo /etc/init.d/php-fastcgi stop
sudo /etc/init.d/php-fastcgi start
sudo /etc/init.d/nginx stop
sudo /etc/init.d/nginx start

这是一个很棒的 LEMP 教程http://library.linode.com/web-servers/nginx/php-fastcgi/ubuntu-10.04-lucid

于 2012-11-26T21:14:37.063 回答
4

如果我忘记了这一点,对于未来的我。

如果您一直在搞乱,/etc/php/fpm那么您可能不小心丢失了符号链接,conf.d这意味着 gd 和 PDO 加载文件将无法使用 FPM 引导。

如果您只是使用 PHP5-FPM 附带的基本配置,这将是一个问题。如果您有自定义配置,您可能会将文件包含在不同的位置。

解决方案:重新创建符号链接。

cd /etc/php5/fpm
sudo ln -s /etc/php5/conf.d /etc/php5/fpm/conf.d
于 2013-12-08T17:42:58.797 回答
3

PHP 扩展只与 PHP 有关。您选择的网络服务器(apache、nginx 等)不会影响它们。很可能您只需要启用 gd 扩展。如果您在 Ubuntu 上,请检查 /etc/php5/conf.d 文件夹并添加带有以下行的 gd.ini:

extension=gd.so
于 2012-01-13T23:31:44.197 回答
1

如果您使用的是 centos 7 并且找不到 /etc/init.d/php-fpm,您可以尝试systemctl restart php-fpm,这对我有用。

于 2015-07-19T04:25:56.173 回答
0

我在制作工作时遇到了同样的问题sudo apt-get install php5-gd。控制台输出建议做sudo apt-get update。只是对所有软件包进行基本更新。

更新后,我运行sudo apt-get instal php5-gd它,它为我完成了所有繁重的工作,包括重新启动 php5-fpm 并正确安装其间的所有内容。

于 2015-06-11T08:19:58.070 回答