ブログだいちゃん

ブログだいちゃん

趣味のブログ

ブログだいちゃん

PHPが古くなったのでUpdateしたら

f:id:blogdaichan:20190105115429j:plain

サーバーにインストールされているPHPが大分古くなって、このバージョンでは使えないプラグインも出てきたのでアップデートすることに。

今使用しているPHPのバージョンは5.3.8のインストーラー版、これをアップデートしようと思います。

ファイルのダウンロード

WindowsIISなのでここからダウンロード、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 = autoUTF-8 に変更して解消しました。

Wordpressプラグインアップデートが、更新中のままで更新できない問題ありました、これは下記拡張モジュールの有効化で解消しました。

extension=php_curl.dll ⇚ 有効化

問い合わせフォームからのメール・コメントなどがあったときのメールが届かない現象があり以下を有効化して解消した。

extension=php_openssl.dll ⇚ 有効化

なお、Cimy Swift SMTP プラグインGmailを使用している場合は、googleの二段階認証を有効にしアプリパスワードを設定しないとブロックされてメールが届かない現象が起こる。

環境変数(Path)設定

Windows のシステム詳細設定の環境変数設定でインストールしたフォルダを設定します。 Pathに 「C:\php56;」 を追加。

動作確認

コマンドプロンプトを立ち上げ「php -v」と入力、PHPのバージョンが表示されれば動作ししています。

f:id:blogdaichan:20190105115424j:plain

PHP 5.6.15 と表示されましたので動作はしているようです。 IISを立ち上げてサイトのハンドラーマッピングPHPを登録し、ワードプレスを立ち上げたら・・・エラーが。(・_・;)

お使いのサーバーの PHP では MySQL 拡張を利用できないようです。

てなことを言われて立ち上がりません、php.ini には上記のようにMYSQLに関するモジュールは組み込んでいるはず。 MYSQLの動作も確認して異常ないし。 コマンドプロンプトで「php -m」コマンドでモジュールを表示させたら、php.iniで有効化させたつもりのモジュールが表示されない、いろいろ調べたが問題ないようです何がいけないの?。

試しに作成したphp.iniを削除して、再度作成し設定したら、あらふしぎ今度は認識しています、いや~参ったほぼ1日掛かってしまった。

f:id:blogdaichan:20190105115431j:plain