web-dev-qa-db-ja.com

nginxにPHP拡張機能をインストールする方法は?

私は最近NginXを発見し、自分のサーバーで試してみることにしました。私はNginXを実行していて、PHPおよびHTMLファイルを提供できます。しかし、今度はdrupalをインストールしようとしています。それをインストールして要件を確認しようとすると、1つの要件で停止します。

PHP拡張機能が無効

Drupalでは、次のリストのPHP拡張機能を有効にする必要があります(詳細については、システム要件のページを参照してください)。

Gd

_apt-get install php5-Gd_を実行してGdをインストールしようとしましたが、すでにインストールされていると表示されています。そこで、phpinfo()ファイルを作成し、Gdが有効になっているかどうかを確認しましたが、それを見つけることができませんでした。これはNginXまたはPHPに関係していますか?これを修正するにはどうすればよいですか?

15
samwell

Nginxを使用しているため、PHP-FPMでPHPを実行していることを意味する必要があります。

インストール後、次のことを行う必要があります。

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

または

service php5-fpm restart

新しいUbuntuバージョン

PHPは新しい拡張機能をピックアップします。

28
Xeoncross

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

4
augusto

これを忘れてしまったら未来の私。

/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
4
Dominic Woodman

PHP拡張機能は、PHPとのみ関係があります。選択したWebサーバー(Apache、nginxなど)は影響しません。ほとんどの場合、Gd拡張を有効にする必要があります。 Ubuntuを使用している場合は、/ etc/php5/conf.dフォルダーを確認し、次の行でGd.iniを追加します。

extension=Gd.so
3
Jacob Fike

centos 7を使用していて、/ etc/init.d/php-fpmが見つからない場合は、systemctl restart php-fpm、それでうまくいきました。

0
Lee Void

Sudo apt-get install php5-Gdを機能させる場合にも同じ問題が発生しました。 Sudo apt-get updateを実行するよう提案されたコンソール出力。すべてのパッケージの基本的な更新のみ。

更新後、Sudo apt-get instal php5-Gdを実行すると、php5-fpmの再起動やその間のすべての正しくインストールなど、すべての面倒な作業が行われました。

0
Keeprock