「ヘテムル」 × 「PHP7.0」 × 「Laravel5.2」 ~Out of memory 対処など ~
ども、dog-earsです。
前回、途中まですすめていた 「laravel開発日記 第2章」 なのですが、 Composerのuploadで、Out of memory が出る問題が発生し、 止まっていました。
で、いろいろ手を尽くすも解決できず、困り果てていたところに、ヘテムルのPHP7.0対応のニュースが!
■ヘテムル PHP7.0に対応
http://heteml.jp/info/detail/id/1590
php7.0ならば、メモリ消費量が少ないらしいので、いけるんじゃね・・・と、一縷の望みを託してやってみたたところ、無事いけそうな感じになったので、導入についてまとめたいと思います。
今回、ヘテムル使ってない人には、あまり意味ないかもね(汗)
(1)laravelのインストール SSHでヘテムルに接続。
Composerは、以前、自前でインストール済みなので、create-projectで、インストールするのですが、普通にcomposer(または、php composer.pharなど)では、php5.4で動いてしまいます。
そのため、以下のコマンドでphp7.0でComposerを実行します。
php7.0 /[composerのインストールパス]/composer create-project --prefer-dist laravel/laravel [プロジェクト名]
実行すると、インストールが進むのですが、最後にエラーが出ます。
これは、インストール後に呼び出されるコマンドがphp ~で書いてあるためなので、composer.jsonの中の記述を修正します。
■composer.json
"scripts": { "post-root-package-install": [ "php7.0 -r \"copy('.env.example', '.env');\"" ],
以下、同じようにphp ~となっているところをphp7.0に書き換えます。
で、最後に、composer.update・・・もとい
php7.0 /[composerのインストールパス]/composer update --profile
これで、エラーもなく、無事終了しました。
うーん、いちいちパス付で呼び出すのがめんどくさいな・・・。
エイリアス作るか、それともヘテムルがデフォルト7.0になるのを待つか・・・。
(2)requireの追加 composer.jsonで、以下の記述を追加してます。
"require": { "php": ">=5.5.9", "laravel/framework": "5.2.*", "laravelcollective/html": "5.*", "doctrine/dbal": "~2.3", "setasign/fpdi-tcpdf": "1.*" },
追加したのは、
・laravelcollective/html ⇒htmlヘルパー的なもの。
・doctrine/dbal ⇒migrateで、カラムを修正する際に必要。
・setasign/fpdi-tcpdf ⇒PDFの作成・出力に必要。
で、updateしてみたところ、無事インストール完了!
–profileオプションつけて、メモリ使用量を確認したところ、 php.5.4では、約250MBだったのですが、 php7.0では、約150MBでした!!
すごいぞ!PHP7.0!! メモリ消費量が少ないとは聞いていましたが、 まさかここまでとは・・・! (インストールしているlaravelのバージョンが違うとかもあるかもですが)
無事、laravel5.2がインストールされましたので、 改めてここに「laravel開発日記 第2章」のアプリを移植したいと思います。 移植がひと段落したら、また記事にまとめようと思います。 ということで、今回はここまで。
それでは、また次回。
Discussion
New Comments
No comments yet. Be the first one!