php7 + FuelPHP + Smarty でエラー

3298 views
Skip to first unread message

Hisawo TAKASE

unread,
Nov 17, 2015, 6:27:23 AM11/17/15
to fuelphp.jp
高瀬と申します。

開発中システムのphp7での動作を確認しようと、php7(RC7) + FuelPHP1.7.3 +
Smarty3.1.27 の環境を作成してみたところ、

  ErrorException [ Fatal Error ]:
  Method Parser\View_Smarty::__toString() must not throw an exception
 
  COREPATH/classes/response.php @ line 0

というエラーが発生して、困っています。当初は 、

  Fatal error: Uncaught Error: Call to undefined method Error::shutdown_handler() 

というエラーも発生しており、こちらは Kenjiさんの https://github.com/fuel/core/issues/1942
を参考に core/bootstrap.php を書き換えて対応しましたが、その一連のコメントで

> Fuel v1 hasn't been tested on PHP7 yet,

と言われているように、そもそもFuelのバージョン1系 は php7 に対応しないのでしょうか?

同様の状況に遭遇された方、またなにかお判りの方がいらっしゃいましたら、
アドバイスをいただければ幸いです。

soudai sone

unread,
Nov 17, 2015, 7:34:52 PM11/17/15
to fuelphp.jp
高瀬さん

はじめまして、曽根です。
自分がつい最近PHP7でFuelPHPを動かした時に鈴木さんから以下のようなアドバイスをもらいました。


1.7.3は仰るとおりPHP7対応出来ておらずDev版の1.8からコードを持ってくる必要があるようです。
1.8のダウンロードはComposer.jsonをいじってupdateするだけで出来ます。
やり方は鈴木さんがブログに書いてあったと思うので探してみてください。

次の1.7.4では対応するかもしれませんが現状でPHP7対応するのであれば上記のようなやり方になると思います。
それでも動かない場合はSmartyの影響だと思います。
こちらは申し訳ないですが僕は使ってないのでアドバイスできそうにありません。

以上のとおり、ご確認よろしくお願いします。

2015年11月17日火曜日 20時27分23秒 UTC+9 Hisawo TAKASE:

Kenji Suzuki

unread,
Nov 17, 2015, 11:09:02 PM11/17/15
to fuelp...@googlegroups.com
Kenji です。


すでに曽根さんが回答されてますが、php7 を使うには 1.8/develop に
あげる必要があります。

もし、Smarty やアプリの php7 への移行という問題でしたら、以下の記事
が参考になるかも知れません。

http://blog.a-way-out.net/blog/2015/10/30/migration-to-php7/


言うまでもないことですが、フレームワークやライブラリが php7 対応
していても自分のアプリが対応しているかは別の話です。

php7 は互換性は高いとは言え、メジャーバージョンアップ(Zend Engineも)
であり、ご注意下さい。


// Kenji
> --
> このメールは Google グループのグループ「fuelphp.jp」の登録者に送られています。
> このグループから退会し、グループからのメールの配信を停止するには fuelphp_jp+...@googlegroups.com にメールを送信してください。
> その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。

Hisawo TAKASE

unread,
Nov 18, 2015, 7:29:36 AM11/18/15
to fuelphp.jp
高瀬です。

曽根さん、Kenjiさん、アドバイスありがとうございます。
FuelPHP1.7.3はphp7に対応していないのですね。

安全のためにサービスインは php5.6 + FuelPHP1.7.3 で準備することにします。

#5月頃に作成したphp7開発版(phpng)の環境では動いていましたので、
#そろそろRC版でと確認してみたらエラーで焦った次第です。

少し先になりますが php7RC + FuelPHP1.8dev (+ Smarty) も確認してみますので、
結果はこちらに報告します。

ありがとうございました!

Kenji Suzuki

unread,
Nov 19, 2015, 4:24:51 PM11/19/15
to fuelp...@googlegroups.com
Kenji です。


On Wed, 18 Nov 2015 04:29:36 -0800 (PST)
Hisawo TAKASE <his...@gmail.com> wrote:

> 高瀬です。
>
> 曽根さん、Kenjiさん、アドバイスありがとうございます。
> FuelPHP1.7.3はphp7に対応していないのですね。
>
> 安全のためにサービスインは php5.6 + FuelPHP1.7.3 で準備することにします。

それが安全ですね。

> #5月頃に作成したphp7開発版(phpng)の環境では動いていましたので、
> #そろそろRC版でと確認してみたらエラーで焦った次第です。
>
> 少し先になりますが php7RC + FuelPHP1.8dev (+ Smarty) も確認してみますので、
> 結果はこちらに報告します。

php7 のリリース後には、対応した FuelPHP 1.7.4 がリリースされるようです。


// Kenji


> ありがとうございました!

TAKASE Hisawo

unread,
Nov 20, 2015, 12:54:05 AM11/20/15
to fuelp...@googlegroups.com
高瀬です。

Kenji さん、情報ありがとうございます。

> php7 のリリース後には、対応した FuelPHP 1.7.4 がリリースされるようです。

そうなんですね! リリース予定の状況を見ながらphp7化を計画します。

#そのためにも FuelPHP 1.8dev での動作確認をやらないと。>自分
Reply all
Reply to author
Forward
0 new messages