繁体   English   中英

如何在nginx上安装PHP扩展?

[英]How to install PHP extensions on nginx?

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

PHP扩展已禁用

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

GD

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

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

安装完东西后,您需要:

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

要么

service php5-fpm restart

在较新的ubuntu版本中

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

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

如果我忘记这一点,为了将来我。

如果您一直在使用/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

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

extension=gd.so

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM