私は最近NginXを発見し、自分のサーバーで試してみることにしました。私はNginXを実行していて、PHPおよびHTMLファイルを提供できます。しかし、今度はdrupalをインストールしようとしています。それをインストールして要件を確認しようとすると、1つの要件で停止します。
PHP拡張機能が無効
Drupalでは、次のリストのPHP拡張機能を有効にする必要があります(詳細については、システム要件のページを参照してください)。
Gd
_apt-get install php5-Gd
_を実行して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とのみ関係があります。選択したWebサーバー(Apache、nginxなど)は影響しません。ほとんどの場合、Gd拡張を有効にする必要があります。 Ubuntuを使用している場合は、/ etc/php5/conf.dフォルダーを確認し、次の行でGd.iniを追加します。
extension=Gd.so
centos 7を使用していて、/ etc/init.d/php-fpmが見つからない場合は、systemctl restart php-fpm
、それでうまくいきました。
Sudo apt-get install php5-Gd
を機能させる場合にも同じ問題が発生しました。 Sudo apt-get update
を実行するよう提案されたコンソール出力。すべてのパッケージの基本的な更新のみ。
更新後、Sudo apt-get instal php5-Gd
を実行すると、php5-fpmの再起動やその間のすべての正しくインストールなど、すべての面倒な作業が行われました。