れさくのブログ

れさくのブログ

*

MBAにLaravelな開発環境を構築してみる(中編)

   

laravel

これまでのあらすじ-

パルチザンが環境構築を終えてサーバ起動したらエラーになった。

~大きな流れ~
・サーバ起動しよう
・マイグレーションしよう
・ブラウザで実行しよう

~やってみよう~

・サーバ起動しよう
Mcrypt PHP extension required.

どこかで見たことがある。
そう、composer.pharを入れる時。
あの時は須藤を呼んだらうまく行った。
きっと今回もうまくいくだろう。

sudo php artisan serve

結果。
Mcryptが無いとは言われなかったが、起動しかけてエラーになった。

解決方法。
ファイル作る。
PC039:ekikore resaku$ touch ./.env.local.php
そのファイルに書き込む。
PC039:ekikore resaku$ vi ./.env.local.php
こんな内容を書き込む。
return [
'mysql.database' => 'homestead',
'mysql.username' => 'homestead',
'mysql.password' => 'secret',
'aws.key' => '',
'aws.secret' => '',
'aws.region' => '',
];

homesteadとかsecretはLaravelデフォルトのものですね。

再度。
php artisan serve
で起動成功。須藤なんていらなかったんや!

もっともこれはサーバ起動のための最低限のもの。
プロジェクトによってDBやユーザー、パスワードは変わってくるはずなので、いずれマイグレーション
php artisan migrate
の時にエラーになる。
その時は.env.local.phpをプロジェクトに合わせて変更すればいい。

・マイグレーションしよう

実行。
php artisan migrate:refresh --seed

結果。
PHP Fatal error: Can't use method return value in write context in /Users/resaku/Desktop/ekikore/app/common/Validator/InputColumnVariable.php on line 22
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Can't use method return value in write context","file":"\/Users\/resaku\/Desktop\/ekikore\/app\/common\/Validator\/InputColumnVariable.php","line":22}}PC039:ekikore resaku$

そのファイルのその行を追うと、「empty」にたどり着く。
嫌な予感。
ググるとどれもemptyにたどり着くものばかり。

これ。

変数が空であるかどうかを検査する – PHP
PHP 5.5 より前のバージョンでは、empty() がサポートするのは変数だけです。 それ以外の値をチェックするとパースエラーになります。

PHP5.4以下だとエラーになります。
あれ?5.5入れたんじゃないの?
php -v
PHP「ワタシハ5.4デス」

なんで?
5.5を入れたはずなのに5.4になったのか。
あるいはMacに最初から入っているPHP(5.4)を見ているのか。
PHPのバージョン管理ならphpenv。
そういえばこれ上手く入らなかった気がする。
phpenvは1、2時間かけて調べていじってみたけど、どうにもならない。
それならどうするか。
どうにもならないなら、どうもしない。
phpenvを使わなければいいのだ。

phpenvはバージョン管理の手法の一つであって、5.5に直接関係するものではない。
大事なことは5.5に上げること。
カップラーメン作るのにお湯を沸かすにはヤカンが良いか?ナベが良いか?は手段の問題。
大事なことはカップラーメンを作ることなのだ。
うむ。

という訳でラーメンの作り方。
PC039:local resaku$ curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5
PC039:local resaku$ export PATH=/usr/local/php5/bin:$PATH

四の五の言わずにこれを叩けば、とりあえず5.5に上がる。

という訳で
php artisan migrate:refresh --seed
マイグレーションも完了しました。

・ブラウザで実行しよう

今回のプロジェクトで使う画面を開いてみました。
余裕余裕。
余裕でエラーが出ました。
なんで?
そのエラー行を追うと、「empty」にたどり着く。

あれ?5.5入れたんじゃないの?
php -v
PHP「ワタシハ5.5デス」

だよね?5.5入ってるよね?
ブラウザでphpinfo()
PHP「ワタシハ5.4デス」

あ…ありのまま 今 起こった事を話すぜ!(ry

-つづく-

 - Laravel

adpc

adpc

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  関連記事

マイグレーション~DB構造の変遷を共有する

PHPファイルをローカルで作業してテストして、gitでcommitする。 これは …

MBAにLaravelな開発環境を構築してみる(後編)

-これまでのあらすじ- php -v 「ワタシハPHP5.5デス」 phpinf …

MBAにLaravelな開発環境を構築してみる(前編)

Laravelを使います。 今世界中で注目されているフレームワークです。 まず響 …

mysql
dumpした大容量sqlファイルでDBを構築-IT版本当にあった怖い話(レベル8)

途中までは、よくある話。 「dumpしたsqlファイル送るからそっちのローカルに …

mysql
コマンドラインでMySQLを操作するまとめ(復習)

phpMyAdminなどで運用中心にやっているとコマンドラインを忘れがち。 なの …

TJCT!プロセスの暗殺教室

ブラウザ上で巨大なデータを扱ったら、応答が返ってこない・・・・ ブラウザを閉じた …

MBAの英字キーボードをKarabinerで使いやすくする

れさくさんの貧弱なMBAを見かねて、MBAが貸与されました。 なんとメモリは2倍 …

mysql
MySQLをチューニング3:MySQLの設定見直す

データベースが重いからMySQLをチューニングするに書いた四天王の三人目「MyS …