PHPをWordPressで動作させるには
WordPress を過不足なく動作させるには、いくつかのPHP の機能拡張を同時にインストールさせることが必要です.
今回は、WordPress 5.8 のサイトを見ながら、機能拡張の種類を選択してインストールし、さらにに、実際に WordPress 5.8 を動作せて、WordPress のダッシュボード内のツール、サイトヘルスを確認します.
ウエブサーバー Nginx と連携させる設定も記してみました.
WordPressの公式ページからPHPの必要な拡張機能
ワードプレス用の php を簡単にインストールする場合は、読み飛ばしても構いません.
WordPress5.8.1のおすすめのphp74拡張機能を調べてみよう
PHPは、WordPressコードのベースとなるプログラミング言語です。この言語はサーバー上で実行され、セキュリティと機能の両方の観点から、最新の状態に保つことが重要です。
WordPress のサイトに書かれている php の機能拡張を知れべてみると
- オススメの php の機能拡張
- インストールしても問題なし
- ファイルサーバーが書き込めないなど
と書かれていました.
WordPressコアのおオススメのPHP拡張機能は、
完全を期すために、WordPressが 特定の状況で、最適な環境では必ずしも必要ではありませんが、インストールしても問題はありません
これらの拡張子は、ファイルがサーバーに書き込めない場合の更新やプラグイン/テーマのインストールなどのファイル変更に使用されます。
トランスポートの優先順位は、ダイレクトファイルIO、SSH2、FTP PHP拡張、ソケットで実装されたFTP、およびPHPのみで実装されたFTPです。
システムパッケージ#システムパッケージ
ImageMagick –Imagick拡張機能に必要
Ghost Script – Imagick / ImageMagickがメディアライブラリのPDFサムネイルを生成できるようにします。詳細について は、WordPress4.7の拡張PDFサポート を参照してください。
WordPressの5.8に必要なPHP7.4の拡張機能の検証方法
ワードプレス WordPress 推奨のPHP拡張機能を考えてインストールしてみました.
実際には、
- php74をインストール
- WordPress5.8を動作
- WordPressのダッシュボード → ツール →サイトヘルス で足りないと言われる拡張機能を検証
- 追加インストール
- 3を確認
のように、PHP拡張機能をワードプレスに最適化する.
実際に php のワードプレスに推奨の機能拡張をインストール
FreeBSDの pkg ツールを使用してインストールする.
#pkg install php74
php74 を pkg でインストールすると すでに、hash、libxml、mysqlnd、pcre が標準で入っていたので、残りの機能拡張をインストールしていきます.
php74-curl
php74-dom
php74-exif
php74-fileinfo
php74-pecl-imagick
php74-mbstring
php74-json
php74-mysqli
php74-openssl
php74-sodium
php74-xml
php74-zlib
php74-zip
——-特定の状況でインストールしても問題なし——-
php74-bcmath
php74-filter
php74-gd
php74-iconv
php74-intl <—— WordPress 5.9 から必要になった
php74-zlib
php74-pecl-mcrypt
php74-simplexml
php74-xmlreader
php74-zlib
–ファイルサーバーに書き込めない、更新やプラグインのインストールに使用—
php74-pecl-ssh2
php74-ftp
php74-sockets
残りの php の機能拡張は上の太字をインストールしてWordPressのツール –>サイトヘルスで改善点がなくなり、良好をいただいた.
もしも、phpの拡張機能を追加したければ、(FreeBSD + Nginx + php + wordpress)
#pkg install php74-XXXX
#service php-fpm restart
上のように
- 足りないパッケージをインストール
- php-fpm をリスタートして設定を反映
すれば良い.
ワードプレス用 php の簡単インストール
WordPress5.8に必要なPHP74のpkgをまとめてインストール
FreeBSDのpkgを使って、wordpress5.8に必要なphp74とその拡張機能をまとめてインストールします.
下の「pkg install ・・・php74-pecl-imagick」をコピーしてターミナルにペーストして実行すると簡単にインストール可能かもしれません.
WordPress 5.8
# pkg install php74 php74-curl php74-dom php74-exif php74-fileinfo php74-gd php74-mbstring php74-json php74-mysqli php74-openssl php74-sodium php74-xml php74-zlib php74-zip php74-iconv php74-filter php74-pecl-imagick
2022/01/27に追記
ワードプレス5.9 にアップデートすると、[ intl ] が足りないとサイトヘルスで表示されました. よって、php74-intl を追加してインストール用の記述を追加したのが下です.
WordPress 5.9
# pkg install php74 php74-curl php74-dom php74-exif php74-fileinfo php74-gd php74-mbstring php74-json php74-mysqli php74-openssl php74-sodium php74-xml php74-zlib php74-zip php74-iconv php74-filter php74-pecl-imagick php74-intl
# pkg install php74 php74-curl php74-dom php74-exif php74-fileinfo php74-gd php74-mbstring php74-json php74-mysqli php74-openssl php74-sodium php74-xml php74-zlib php74-zip php74-iconv php74-filter php74-pecl-imagick
New packages to be INSTALLED:
Proceed with this action? [y/N]:y
※php74-pecl-imagick は、大量のソフトがインストールされるので、ビックリします.
php74-gdという選択肢がありますが、wordpressのツールのサイトヘルスはimagickを要求されるのですが、気にしなければ、どちらでも良いかと思います.
php-fpmの起動
下の2つの命令は
/etc/rc.confファイルにphp-fpm_enable=”YES’を書き込み & php-fpmを起動する
#service php-fpm enable
#service php-fpm start
php-fpmの起動確認
# ps ax | grep php
2932 - Ss 0:00.01 php-fpm: master process (/usr/local/etc/php-fpm.conf) (
2933 - I 0:00.00 php-fpm: pool www (php-fpm)
2934 - I 0:00.00 php-fpm: pool www (php-fpm)
Nginxとphp-fpmの連携の設定
FreeBSD12 + Nginx1.20 + php74
デフォルトでphp-fpmは TCP4 127.0.0.1:9000でNginxと連携する設定になっていました.
設定ファイルは、/usr/local/etc/php-fpm.d/www.conf の40行に(下)listen = 127.0.0.1:9000と書かれています.
38 ; '/path/to/unix/socket' - to listen on a unix socket.
39 ; Note: This value is mandatory.
40 listen = 127.0.0.1:9000
41
42 ; Set listen(2) backlog.
Nginxの設定ファイル /usr/local/etc/nginx/nginx.conf でphp-fpmの設定が必要です.
詳しくは、NginxとPHP-FPMと連携させるで説明してありますので、参照ください.
PHP-FPMの動作確認
webルート ( FreeBSD のデフォルトは、/usr/local/www/nginx/)にphpinfo.phpというファイルを作って、webブラウザで確認します.
phpinfo.php の中身は
今回は、下の echoコマンドでNginxの初期設定の場所(/usr/local/www/nginx/phpinfo.php)のような内容を書き込んだファイルを作ります.si
echo コマンドで作る場合は、下のように入力すれば、目的のディレクトリーにファイルを作ることができるので試してください.
echo "" > /usr/local/www/nginx/phpinfo.php
他のPCのwebブラウザからサーバーの「IPアドレス/phpinfo.php」を入力すると
phpinfoの画面を下方向にスクロールして目的の拡張機能が表示されているか確認しましょう.
PHP7.4は、そういえば、php.iniファイルがなくても普通に動作するのね!
php.iniで細かな設定を行うには、
php.ini-productionをコピーして使うようですが、無くても、nginx + php-fpm + mariadb + wordpress は動作するのですね.
FreeBSD の pkg でインストールした php は標準設定で動作確認して不具合の発生を確認してください.
標準設定でも動作しますが、WordPressにプラグインを追加し、Elementor 等の動作の重いプラグインを入れると、少し、設定を最適化した方が速くなります.
さらに、キャッシュ系は、動作が軽くなりますが、正確にサイトの表示ができるか確認しなければならないと思います.
WordPress で使用するならアップロードサイズ アップ
ワードプレス、特にエレメンターを使用するのであれば、メモリー関連のサイズを最初から上げておくことをオススメします.
下のリンクからページ移動できます.