エックスサーバーに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日時点、当社調べ)
PHP 7.0.0・・・先週リリースされたばかりなのに、もう全アカウントで利用できるように整備するなんて。さすがエックスサーバー素敵!
一応なんですが、エックスサーバーのコントロールパネルには、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系へのダウングレードは簡単に行えます。
以下、覚書兼ねてリンク貼っております