サーバーにインストールされているPHPが大分古くなって、このバージョンでは使えないプラグインも出てきたのでアップデートすることに。
今使用しているPHPのバージョンは5.3.8のインストーラー版、これをアップデートしようと思います。
ファイルのダウンロード
WindowsのIISなのでここからダウンロード、PHP7も出ているようですが安定版のVer5.6.15にします。 IISを使用している場合は、「IISでのFastCGIとしてPHPを使用している場合は、PHPの非スレッドセーフ(NTS)のバージョンを使用する必要があります。」とのことなので「VC11 x64 Non Thread Safe (2015-Oct-15 07:14:43)」を選択ダウンロードしました。
PHPの設定
まず、PHP5.3.8インストーラー版をコントロールパネル⇒プログラムと機能から削除、インストールしたフォルダにはPHP.iniファイルが残るだけになりましたので、このiniファイルを削除。 ハンドラーマッピングからもPHPの設定が消えます(インストーラー版だったから?)。
インストール用フォルダにダウンロードし解凍したファイルを移し、php.iniの編集です。
===本家PHPマニュアル(windowa版)より以下を設定=== fastcgi.impersonate = 1 fastcgi.logging = 0 cgi.fix_pathinfo=1 cgi.force_redirect = 0
===拡張モジュールのディレクトリパス指定=== extension_dir = "C:\PHP56\ext"
=== タイムゾーンを日本に=== date.timezone = ”Asia/Tokyo”
===日本語環境設定=== default_charset = "UTF-8" mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = UTF-8 ⇐ auto から UTF-8 に変更 管理画面の文字化け解消のため。 mbstring.http_output = UTF-8 mbstring.encoding_translation = Off mbstring.detect_order = UTF-8,EUC-JP,SJIS,JIS,ASCII ⇐ auto から変更、優先順位は左側が高い。
===以下の拡張モジュールの有効化=== extension=php_curl.dll ⇐有効化しないとプラグインのアップデートが出来なかった。 extension=php_mysql.dll extension=php_mysqli.dll extension=php_pdo_mysql.dll extension=php_pdo_sqlite.dll extension=php_gd2.dll extension=php_pdo_sqlite.dll extension=php_bz2.dll extension=php_mbstring.dll
extension=php_openssl.dll ←有効化しないと問い合わせ等のメールが届かない。
注意点(追記)
Wordpressの管理画面で、日本語が文字化けする問題がありました、投稿記事等は文字化けせず気が付きませんでしたが、プラグイン設定のとき文字化けに気付き調べた結果。
mbstring.http_input = auto ⇒ UTF-8 に変更して解消しました。
Wordpressのプラグインアップデートが、更新中のままで更新できない問題ありました、これは下記拡張モジュールの有効化で解消しました。
問い合わせフォームからのメール・コメントなどがあったときのメールが届かない現象があり以下を有効化して解消した。
extension=php_openssl.dll ⇚ 有効化
なお、Cimy Swift SMTP プラグインでGmailを使用している場合は、googleの二段階認証を有効にしアプリパスワードを設定しないとブロックされてメールが届かない現象が起こる。
環境変数(Path)設定
Windows のシステム詳細設定の環境変数設定でインストールしたフォルダを設定します。 Pathに 「C:\php56;」 を追加。
動作確認
コマンドプロンプトを立ち上げ「php -v」と入力、PHPのバージョンが表示されれば動作ししています。
PHP 5.6.15 と表示されましたので動作はしているようです。 IISを立ち上げてサイトのハンドラーマッピングでPHPを登録し、ワードプレスを立ち上げたら・・・エラーが。(・_・;)
「お使いのサーバーの PHP では MySQL 拡張を利用できないようです。」
てなことを言われて立ち上がりません、php.ini には上記のようにMYSQLに関するモジュールは組み込んでいるはず。 MYSQLの動作も確認して異常ないし。 コマンドプロンプトで「php -m」コマンドでモジュールを表示させたら、php.iniで有効化させたつもりのモジュールが表示されない、いろいろ調べたが問題ないようです何がいけないの?。
試しに作成したphp.iniを削除して、再度作成し設定したら、あらふしぎ今度は認識しています、いや~参ったほぼ1日掛かってしまった。