如何在nginx上安装PHP扩展?

时间:2012-01-13 23:23:09

标签: php drupal nginx php-gd

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

  

PHP扩展已禁用

     

Drupal要求您在以下列表中启用PHP扩展(有关详细信息,请参阅系统要求页面):

     

GD

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

6 个答案:

答案 0 :(得分:28)

由于您使用的是Nginx - 这必须意味着您正在使用PHP-FPM运行PHP。

安装完东西后,您需要:

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

service php5-fpm restart

在较新的ubuntu版本中

这样PHP就可以获取新的扩展名。

答案 1 :(得分:4)

如果我忘了这一点,对未来我来说。

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

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

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

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

答案 2 :(得分:3)

如果您的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

答案 3 :(得分:2)

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

extension=gd.so

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

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