謎のアレルギー反応が強く出ているため、なかなか開発を進めることが出来ませんでしたが、いくつかの対策を講じてなんとか作業に入ることが出来ました。原因は雑草花粉とPM2.5の関係っぽいです。とりあえず医者から処方されたアレルギーを抑える薬とエンブロイの空間除菌ウイルスブロッカーと空気清浄機の組み合わせでずいぶん楽になりました。
さて話は本題。
PHPのWebアプリケーションフレームワークは以前CakePHPをいじりましたが、比較的新しめで日本ではまだ普及してませんが勢いのある「Laravel(ララベル)」をいじってみようと思い、環境作りをしようとしたところ予想以上に引っかかってしまったのでメモしておこうと思ったのが今回の記事。
Laravel(ララベル)はPHPフレームワークのひとつ。世界的にもここ1、2年でかなり勢いがあるらしいが、日本はまだそれほどでもないみたい。携帯電話やゲーム機などと同じくそこらへんは少し独自性が強いのか流行から遅れているのかはわかりませんが・・・。
Laravelの特徴
・内部実装をSymfonyのコンポーネントで行い
・Composerを公式インストーラとしている
・文法がPHPっぽくない
・記述方法が美しい
ということらしいです。
さてとりあえずはXammpにLaravelを導入する方法を挙げてみます。
環境はWindows8.1、インストール先は「xammp/htdocs」にしてあります。
1.Xammp内のPHPを5.3.7以上(5.4推奨)にしておく
2.Composerをインストールする
3.Laravel Installer(laravel.phar)をインストールする
4.HelloWorld!!を表示させる
見事にそれぞれの段階でつまづきました。どこでつまづいたのか、どう直したのかを記述しておきます。
1 Xammp内のMySQLが停止中のまま
なぜかXammpのステータスを見てもMySQLが起動中にならず、停止のままでした。
セキュリティを見ると「MySQLサーバが起動していないか、ファイアウォールでブロックされています。」の表記が・・・。
ポート番号もかぶりはなかったため、こちらの記事を参考に下記を修正。
xampp/mysql/bin の my.iniのbind-address=”127.0.0.1″の#を外し、MySQL再起動
これでMySQLが起動しました。
参考にさせていただいたページ:[書物]XAMPPでApacheが起動しない・MySQLがブロックされてる(WindowsXP)
2 Composerがインストールできない
上のMySQLを修正せずにインストールを試みたら、インストール失敗しました。まずはデータベースをちゃんと使えるようにしてください。
3-1 Laravelがインストールできない
コマンドプロンプトからインストールを実行しましたが、どうも期待通りにならないためマニュアルインストール。
こちらの記事を参考にさせていただきました。
3-2 「You have arrived.」にならない
htdocs/laravel/publicにアクセスすると、一度は正常な「You have arrived.」が出たのですが、その後に「Whoops, looks like something went wrong.」が出るようになりました。そこでデバッグモードをONにして状態を見ました。
場所は「htdocs/laravel/app/config/app.php」の16行目を’debug’ => trueにした。
そして再度アクセスすると「RuntimeException You need to specify a file path to store the seed.」というメッセージが表示されました。
原因を探ってところ、下記のページで気になる表記を見つけました。
このページで”PHPのOpenSSLのExtentionをチェックしろ”と。で、Xammpのphp_info()を確認すると・・・「OpenSSL support disabled (install ext/openssl)」と表示されました。
OpenSSLがどうもXammpは初期状態では無効になっているようで有効化しなくてはならないようです。
そこでこちらのページを参考にOpenSSLの有効化を試みました。
「xammp//php/php.ini」の”;extension=php_openssl.dll”の「;」を取って「extension=php_openssl.dll」にします。
その後にXammpを再起動して、もう一度アクセスすると「You have arrived.」が無事に表示されました。
4 Hello World!の出し方がよくわからない
さて、ようやくLaravelが正常に動作したところで定番を表示したいのですが、どこを触ればいいのやら・・・早速検索です。
こちらのページがヒット。
要は「htdocs/laravel/app/routes.php」の「return View::make(‘hello’);」を「return ‘Hello World!!’」に変更する模様。
今回はいつも以上になぜか苦戦しました。掲載していませんが新旧Xammpを共存させようとしてポートがかち合って時間食ったりもしたので・・・。
いずれにせよ、多くの先人の助けを借りて無事にLaravelのHello World!!完了。先人の方に感謝!同じく困っている方の一助になれば幸いです。ただLaravelの情報は言われているとおり日本語のものは非常に少なく何かトラブったら英語で探さないと厳しいですね、現状では。
ちなみに日本語版の書籍はないみたいです。
コメント