2012-01-13 159 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,這對我很有用。