2012-01-13 221 views
13

我最近发现了NginX,并决定在我的服务器上试用它。我有NginX运行并能够提供PHP和HTML文件。但是现在我想尝试安装drupal。当试图安装它并检查需求时,我停止了一个需求。如何在nginx上安装PHP扩展?

PHP扩展禁用

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

GD

我曾尝试通过执行apt-get install php5-gd来安装gd,并且表示它已经安装。所以我创建了一个phpinfo()文件,并检查是否启用了gd,但我无法找到它。这是否与NginX或PHP有关?我该如何解决这个问题?

回答

27

由于您使用Nginx的 - 必须意味着你用PHP的运行PHP FPM。

你安装的东西后,你需要:

sudo /etc/init.d/php-fpm restart 
在新的Ubuntu版本

使PHP将皮卡新的扩展

service php5-fpm restart 

+1

我也为我工作,但稍作修改:'sudo /etc/init.d/php5-fpm restart'。 – Lekhnath 2014-01-22 12:23:19

+6

'sudo服务php5-fpm restart'也适用于我。 – Lekhnath 2014-04-20 09:33:02

+0

使用Fedora27,PHP7 - 'service php-fpm restart'为我工作。 – 2017-12-31 19:10:41

1

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

extension=gd.so 
+0

这节省了我的一天。我正在开发arch linux LEMP安装程序,甚至在安装pacman -S php-gd之后它仍然没有工作。 – 2017-02-24 13:15:03

3

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

如果您一直在与/etc/php/fpm搞混,那么您可能意外丢失了与conf.d的符号链接,这意味着gd和PDO加载文件将不会用FPM启动。

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

解决方案:重新创建sym-link。

cd /etc/php5/fpm 
sudo ln -s /etc/php5/conf.d /etc/php5/fpm/conf.d 
0

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

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

0

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