我最近发现了NginX,并决定在我的服务器上试用它。我有运行NginX并能够提供PHP和HTML文件。但现在我想尝试安装drupal。当试图安装它并检查要求时,我被一个要求阻止了。
PHP扩展已禁用
Drupal要求您在以下列表中启用PHP扩展(有关详细信息,请参阅系统要求页面):
GD
我尝试通过执行apt-get install php5-gd
来安装gd,并且它已经安装了它。所以我创建了一个phpinfo()
文件,并检查是否启用了gd并且我无法找到它。这与NginX或PHP有关吗?我该怎么做才能解决这个问题?
答案 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
,这对我有用。