エックスサーバー+WordPressにPHP7導入 ⇒ 問題なく動いてる&速くなった気が【PEAR追記あり】

エックスサーバーにPHP7導入の案内を受け、WordPress(4.3.1 ~ 4.4)で試してみたところ、サイト側も管理画面側も正常に動作してます。
心なしか、なんか速くなった気がする・・・(感覚値)という感じで^^

2016/01/07 追記:PEARで一部問題ありました
2018/03/15 追記:ついにエックスサーバーではPEARサポート打切の模様

全アカウント対応、国内初!PHP5 の2倍以上の実行速度を誇る「PHP7」導入のお知らせ

2015/12/09

この度当サービスでは「PHP7」を導入いたしました。PHP7 は、PHP5 に比べ2倍以上の実行速度を誇り、メモリ使用量が大幅に改善されたPHPの最新バージョンです。

(中略)

なお、ご契約いただいているすべてのサーバーアカウントで PHP7 を導入するのは、国内レンタルサーバー事業者として初めてです。
(2015年12月9日時点、当社調べ)

https://www.xserver.ne.jp/news_detail.php?view_id=2450

PHP 7.0.0・・・先週リリースされたばかりなのに、もう全アカウントで利用できるように整備するなんて。さすがエックスサーバー素敵!

一応なんですが、エックスサーバーのコントロールパネルには、PHP7利用にあたってこんな注意書きがあります

エックスサーバーコントロールパネル・PHP7利用に関する注意書き

当方含めいくつかのWordPress環境では、やってみて特に問題はありませんでした。後から知りましたが、PHP7の開発にあたってはWordPressでベンチマークをとっていたみたいですね。WordPress本体については、問題なく動くのは当たり前のことのなんだなと思いました(^_^;; プラグインの種類等によっては問題が出てくるのもあるのかも。。

2016/01/07 追記:PEARで一部問題あり
2018/03/15 追記終焉:ついにエックスサーバーではPEARサポート打切の模様


別環境にて、PHP5.3.3→7に切り替え ~ やや古い、、昔PEARを使って書いたプログラムの一部を流用しようとしたところ。。。半分ダメでした。(使用してるライブラリ、パッケージによるっぽい)

2018/03/15追記:ついにPEARサポート外となった模様です。きっぱり動かなくなりました!

エックスサーバーマニュアル:CGI・SSI・PHP 仕様一覧

phpinfoで確認してみると、エックスサーバーにデフォルトでインストールされているPEARは・・・ .:/opt/php-7.0.0/data/pear となってるので、PHP7対応の模様? [参考:*英語 → PEAR 1.10.0 with PHP7 support is out]

今回使いたかったのは、PagerとCalendar。試行してみると、Pagerは動きました。CalendarはNG。


■ Pager
(サポ打切に伴い、PEAR非依存のpaginationに組み替えました) デフォでパスも通っているので、include “Pager.php”; でモジュール読み込んでやればおk。パラメータもひと昔前(php5.2系の頃)のままで一応動作することを確認。。。Warningが出ましたが(^_^;

Deprecated: Non-static method Pager::factory() should not be called statically in xxxxx…

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Pager has a deprecated constructor in /opt/php-7.0.0/data/pear/Pager.php on line 52

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Pager_Jumping has a deprecated constructor in /opt/php-7.0.0/data/pear/Pager/Jumping.php on line 57

でもまぁ一応動いてます。ひとまずは、php.ini設定でWarning非表示で動かして。。。また本格的に困ったら考えようかなぁ(本格的に困ってから対応しました…)
しかしこれらWarning、特に2個目・3個目の内容から察するに、エックスサーバー標準搭載のPEARはPHP7対応の 1.10.0 じゃないってことなのかな…


■ Calendar
公式に書いてある仕様を見ると、Calendarモジュールが入っていない風だったため、別ディレクトリにPEARを自前インストール(go-pear使用)→ 追加パッケージを入れて・・・と目論んだのですが・・・自前インストールは出来たものの、パッケージマネージャを担うPEARのWebフロントエンドがPHP7未対応の模様で

Methods with the same name as their class will not be constructors in a future version of PHP; PEAR_Frontend_Web has a deprecated constructor in xxxxxx….

と叱られ、こちらは Fatal error で停止 → Webフロントエンド表示されず;

つきましては、、潔く…PEAR非依存で動くよう、中身を書き直しました(^_^;)


更にググってみて、こちらが参考になりました。PEARにも言及あり⇒ DQNEO起業日記 – PHP5.6からPHP7にアップグレードして実際にはまった点9個 (勉強になりました。ありがとうございます m(_ _)m)

ちなみに、いったんPHP7にした場合も、5.6系へのダウングレードは簡単に行えます。

以下、覚書兼ねてリンク貼っております

php700released


お役に立ちましたら、シェアしていただけると嬉しいです😀

はてなブックマークに追加Add
クリップボードにコピーCopy URL
Author

林@零細Web屋

名古屋の自営業者(フリーランス12年目)です。中小/個人の事業者さんが抱えるお悩みの解決・目的達成のお役に立てるよう、Webサイト制作&運用支援を行っています。かつて中小企業で情報システム・広報・採用などを担当していた経験を活かし、受け手の目線に立った仕事を心がけています。

» プロフィール詳細 » 問い合わせてみる