PHP 7.1への更新成功

Zenlogicにサーバーを移行しましたが、その結果、PHPも5.3から7.1に upgradeすることが可能となりました

しかし、これをしたところ、先日記載したように画面が真っ白となる不具合が発生し、慌てて 5.3に戻したのです

そして行ったことは WordPressのデータを全て backupしました そして、それをhttps://の領域に移し、そこで再度 WordPressをインストールしたのですが、残念ながら管理者ID/PWがうまく移行できず、管理者権限で入れなくなってしまったのです

これには困りました

そこで、以前の PHP5.3での WordPressに戻し、今度 Pluginを停止し、そして再び PHP7.1にしましたところ、Wordpressが正常に作動していることを確認しました

ということで、現在は www.kamakuraheart.orgでWordpress/PHP7.1が作動しています 何故PHP7.1に拘ったかと言うと (1)速度が PHP5.3より五倍程度早くなることが確認されている (2)何しろ Laravel 5.5では PHP >= 7.0が必須なので

ということでした 目出度しです

やばっ

これは恐ろしいことになりそうでした というかブログ書込み何時の間にか久しぶりでした この1週間あまりの間に例によって色々ありました

今朝この早朝の羽田空港全日空ラウンジで「やばい」と思ったことの筆頭は、何とこのブログにアクセスできなくなっていたのです いや正確にはアクセスできるのですが、参照できません つまり WordPressが作動していないのです

自分で何をしたかを思い出しました 実はこれから先の10年を見越して、PHPを 5.3から 7.1に upgradeしたのです それがまずかったのですねえ その結果 WordPressが作動しなくなったのです 通常 PHP 7.1は PHP5.3に対して上位互換性がかなりの部分保たれていると思うのですが、何れにしても作動しなくなったので慌てて今戻しました これにより再びブログにアクセス可能となりましたねっ

さて、何で 7.1にしたかというと、今ここ数日ですが、のめり込みつつあるのが、以前も挑戦した Laravelなのです この最新 Long-Term Support (LTS) versionが Laravel 5.5なのですが、それに挑戦始めたのです 問題は Laravel 5.5は絶対的に PHP > 7.0が必要なのです それで深く考えずに kamakuraheart.orgの PHPを 7.1にしたのです それが今朝の顛末でした

これから 6:15AM発の千歳便で札幌東徳洲会病院に日帰りで入ります きっと寒いだろうなあ きっと雪に覆われているのだろうなあ

うーん 何だか難しいなあ

Dynamic DNSというものの存在を教えて頂きました しかし、何だか難しいなあ 実際にいじくって自分でやらないと理解できないような気がします

それよりも今直面しているのは これが理解できないのです うーん何と説明すれば

まず、Laravelを /Sites/myapp/にインストールしました

そして、/myapp/に移動し、$php artisan serve でサーバーを立ち上げました

そして、/Sites/myapp/routes/web.php の中に /helo でroutingを行う命令を書きました

そうすると アドレスバーで localhost:8000/helo とすれば、そのページが出力されます

ところが、ここで artisanを停止し、XAMPPで apacheを立ち上げます 僕のapacheの document rootは /Sites/にしてありますので アドレスバーで localhost:8000/myapp/helo とすれば同じ出力されると思ったのですが サーバーが反応しません

うーん 分からない apacheのポートは何番なのでしょうか?

分からない分からない分からない

Laravel 5.3の download

さて、昨日 Laravel5.3を downloadしようしたらば最新版の5.4が downloadできてしまい、5.3をdownloadできなかった話をしました

しかし、これは当たり前でしたね だって、

$ composer create-project laravel/laravel=dev-develop laravel53

などと打ち込み、5.3をdownloadした気分になっていたからです composerのコマンド体系を見れば、これでは laravel最新版を downloadすることになりますよね いやきっと そのように予想できます

従って、Laravelの開発ページを見に行く必要があります そこで、githubを探すと ここにありましたね

さて、このページの左上の方を見ればこのようになっています

Github

ここでこのselect buttonをいじくると 出てきました 5.3が

Laravel5.3の選択

これで5.3を選択し、downloadなりすれば良さそうです とは言うものの、もうすぐ朝カンファランス そして 怒涛の外来診療ですのでとりあえずここまでにしておきましょう

 

Laravel 何だかややこしいな

Laravelの最新version = 5.4です しかし、Web上の情報はほとんどが良くて 5.3 大多数の日本語サイトは 4.3です 要するにものすごいスピードで version upされているようなのです

それはそれで嬉しいことですが、問題は言語仕様がどんどん変化しており、英語の on-line manualを読まねば最新の仕様がわからないという点です これは辛いです 仮に日本語だとしても理解は困難な上に、それが英語であればどんな事態になるか想像できますよね

という訳で Kindleで書籍を探しました 日本語書籍は最新のものでも Version 5.1です 英語のものでようやく 5.3です そして、5.1から 5.3に version upした時点で Laravelの dirctory構造が大きく変更されたようなのです 具体的に僕が気づいたのは Routingの directoryが大きく変更になり、この時点で日本語サイトや日本語書籍はあまり参考にならなくなってしまいました

それでは、敢えて down gradeして、Version5.3をインストールすれば良いとも思いますよね それでサイトを探し、このサイトに巡り会いました そして、ここに書いてあるように

$ composer create-project laravel/laravel=dev-develop laravel53 --prefer-dist

と打ち込みましたところ、見事にエラーで撃沈 そこで今度は最後の –prefer-distをとって打ち込みました

$ composer create-project laravel/laravel=dev-develop laravel53

そうするとLaravelのインストールが始まりました しかし、ここで

$ php artisan -V

と打ち込むと、そんなコマンド無い、とエラーが出たので、

$cd laravel53

としてから、

$ php artisan -V

と打ったところ、今度は反応しました しかし、しかし、しかし、その答えは

$ php artisan -V
Laravel Framework 5.4.15

という悲劇的なものでした これを受けて laravel53/ directoryを完全に削除するしかありませんでした 要するに、指定の laravel versionをうまいこと導入する手段は無いのでしょうか

Laravel すぐに躓き

さて、このページにあるように routingを試してみました ところが、ここに書いてあるファイルがそもそも存在しないのです このページではどうやら Laravel 4.xでの説明のようですが、僕がインストールしたものはどうやら Laravel 5.4という最新 versionなのです

結局、Laravel 5.4に web manualを参照すると、どうやら routes/ folderの中の  web.phpに書くことで routingがされそうです このファイルは最初はこのようになっています

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

この最後に以下をつけたしてみました

Route::get('/helo', function () {
    return '<h1>Hello Worl</h1>
this is sample page.'; });

そうして、 localhost:8000/heloにアクセスしたところ、やったね、

やったね

出ました

おおおおお

指示にある通り 開発用 local serverを立ち上げました 実は、何時も XAMPPで立ち上げているので最初うまくいかず、XAMPPの Apacheを停止してからやったところうまく行きました Browserの address barに下記を打ち込みました

http://127.0.0.1:8000

これは要するに local server IP address = 127.0.0.1の port=8000にアクセスしろ、という命令ですね そうすると下記の画面が表示されましたよっ

Laravel開発画面

うわあ なんかかっこいい 僕みたいなミーハーはこれだけでもう心キュンです

おお すごい

そのまま指示に従ってやってみました

$cd myapp
$ php artisan serve

そうすると 見事開発用サーバーが立ち上がりました

Laravel development server started: <http://127.0.0.1:8000>

問題は、この後も僕の根気が続くかですね まず 99%は途中で投げ出し、その内忘れてしまいまから

これは期待持てるかも

早速、「Laravel入門」というサイトを開いて勉強開始です まずは、プロジェクト・フォルダの作成です このサイトに書いて有るように composerコマンドを入力しました

composer create-project laravel/laravel myapp --prefer-dist

そうすると、すぐに反応し downloadが始まりました こんな具合です

Installing laravel/laravel (v5.4.15)
  - Installing laravel/laravel (v5.4.15): Downloading (100%)         
Created project in myapp
> php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 59 installs, 0 updates, 0 removals
  - Installing symfony/polyfill-mbstring (v1.3.0): Downloading (100%)         
  - Installing symfony/var-dumper (v3.2.6): Downloading (100%)         
  - Installing jakub-onderka/php-console-color (0.1): Downloading (100%)         
  - Installing jakub-onderka/php-console-highlighter (v0.3.2): Downloading (100%)         
  - Installing dnoegel/php-xdg-base-dir (0.1): Downloading (100%)         
  - Installing nikic/php-parser (v3.0.5): Downloading (100%)         
  - Installing psr/log (1.0.2): Downloading (100%)         
  - Installing symfony/debug (v3.2.6): Downloading (100%)         
  - Installing symfony/console (v3.2.6): Downloading (100%)         
  - Installing psy/psysh (v0.8.2): Downloading (100%)         
  - Installing vlucas/phpdotenv (v2.4.0): Downloading (100%)         
  - Installing symfony/css-selector (v3.2.6): Downloading (100%)         
  - Installing tijsverkoyen/css-to-inline-styles (2.2.0): Downloading (100%)         
  - Installing symfony/routing (v3.2.6): Downloading (100%)         
  - Installing symfony/process (v3.2.6): Downloading (100%)         
  - Installing symfony/http-foundation (v3.2.6): Downloading (100%)         
  - Installing symfony/event-dispatcher (v3.2.6): Downloading (100%)         
  - Installing symfony/http-kernel (v3.2.6): Downloading (100%)         
  - Installing symfony/finder (v3.2.6): Downloading (100%)         
  - Installing swiftmailer/swiftmailer (v5.4.6): Downloading (100%) 

何だか期待持てますねえ

PHP Frameworkである Laravelを使用したいな

いい加減 PHPでプログラムを素で書くのはやめたいな そのためには色々な Frameworkがあるんだよね 例えば日本では一番有名なものとして CakePHPなんて有名ですよね あるいは Zend Framworkも有名だし・・・

でも一度なんか CakePHPに手を出し見事撃沈、新たに覚えることが多すぎて、僕の既に RAM容量が破裂しそうな脳みそには無理です そんななか、色々読んでいると Laravelというのが良いかも知れない、と思い出しました そこでそれをインストールしようと思いました

通常 Frameworkのインストールと言えば Framework全体、これは PHPで書かれた巨大なプログラムですが、これを downloadしてそれをコピーするだけ、そんなものと思っていましたが どうやら Laravelではそんなことはしないらしいのです そんなことすると色々なファイルの依存性関係が崩れてうまくいかないらしいのです

そして、その方法には色々あるけど、まずは composerというプログラムを downloadせねばならないようです

ところがですねえ、これを Macにインストールするのはどうするの???

どうやら色々あるらしいけど、Homebrewは何となく使いたくなかったので、この PHPを用いてインストールする方法でやったところうまくいきました

 

$ composer -V
Composer version 1.4.1 2017-03-10 09:29:45

というのがきちんと表示されました とは言ってもこれから Laravel本体をインストールせねばならないのでしたね