Edited at

初心者がエラー対処にミスって、正月休みが溶けた話


きっかけ

Phalconのインストールで散々ハマりまくり、正月休みの最後の3日間が消滅しました。

来年は惰眠を貪りたいので自分への戒めにします。

初心者の方が知っていると、役に立つことも書けると感じたので、そこに焦点を合わせた記事を書こうと思います。


導入


筆者の自己紹介

2019年1月からエンジニアとして働き始めた新米。エンジニア力たったの5か…ゴミめ…

2018年9月末に前職の派遣コールセンターを退職し、3ヶ月もの間、華のニート生活をエンジョイ。

心も身体もだらけきった年末年末を過ごしていたが、未経験の開発業務が始まってしまうため、入社先で使っているフレームワークを嫌々触り始めたのだった…

こいつはくせえッー!インストールでドハマるにおいがプンプンするぜッーーーーッ!!


そもそもPhalconとは?

・数あるPHPフレームワークで、処理速度最速に君臨。

・MVCモデルが採用され、シンプルなディレクトリ構成で、ぱっと見でもわかりやすくフレームワーク全体の見通しが良い。

・ソースコードの構成も自由が効き、色々なところで機能を実装しても動く。


でも、いいことばっかりじゃないんでしょ?

・英語圏ではそこそこ人気があるが、日本では活発に使用されておらず、ドキュメントがところどころ日本語に訳されいない。

・自由なソースコード構成が可能な反面、しっかりとした設計にして開発をしないとクソコードが量産される。そう、筆者のようにね

・ドキュメントには必要最低限のことしか書かれていない。良くも悪くも中上級者向け。


今回の事象で学んだ大切なこと

・インストールには必要な要件、必要な設定があるため、読み飛ばしてはいけない

・エラーが出たら、何がエラーを出して、どんなことが原因で出ているのか把握すること

・自分が扱っているソフトのコマンドを多少なりとも知っておくこと

・自分のやってる作業の出力は逐一見ること

詳しい人達にさっさと聞く身もふたもないけど

後ほど改めてまとめます。


如何にしてPhalconのインストールに失敗したのか


環境

OS:macOS Mojave 10.14.2

パッケージマネージャー:Homebrew

PHP:7.3.0


やりたかったこと

PhalconとPhalcon Devtoolsをインストール。ターミナルでバージョンを表示させること。


ハマるまでの雑な回想

さーていっちょPhalconインストールして、なんか動かしてみるか〜



公式ドキュメントのインストールページを雑に見る



え〜っとMacは…あったあった。お、Homebrewでインスコできんのか!コマンド叩こ!



5個並んでる…?PHP72書いてるけど7.3やし動くやろ!



さ〜終わったし、Phalcon Devtools入れるやで。



お、今度はGitリポジトリからCloneしてコマンド叩くんやな。おっけーおっけー



ERROR: Phalcon extension isn't installed, follow these instructions to install it: https://docs.phalconphp.com/en/latest/installation



うひゃあ〜〜〜〜〜〜〜〜(腰を抜かす



ここに来て公式のインストールドキュメントを見返し、brewのコマンドに「brew install php72-phalcon」であったことを思い出す



てことはPHP7.2じゃなきゃ動かん言うこと…?入れ直さな…



お、brewでPHP7.2入れられるやん入れたろ



PHP入れ直したで、動いてくんろ〜



ERROR: Phalcon extension isn't installed, follow these instructions to install it: https://docs.phalconphp.com/en/latest/installation



(白目



公式を再度読み直し、php.iniに設定を書き加える必要があることに気がつく



設定し直したから、動いてね?



ERROR(ry



…もう一度公式読も…



ここで必要条件のところに拡張機能が指定されていることに気がつく



拡張機能…なんだそれ…



様々調べ、PHPには拡張機能があると知る



拡張機能を有効化しようとしたところエラー



PHPにはビルドが存在し、そもそも拡張機能を付帯させるかどうかも決められるため、ビルドからやろうと思い至る



ビルドでエラー地獄

…今見返しても酷い。


解決した方法

結果だけ書きますと

エンジニアの方々がいらっしゃるSlackコミュニティで質問

・もっと簡単にできるはずとアドバイスをもらう

・一旦真っ白な状態に戻すため、brewでインストールしたPHP7.2を削除

php -mコマンドを教えてもらい、必要な拡張機能が有効化されていることを確認

find / -name *phalcon.soのコマンドを教えてもらう

・php.iniにextension=/*findコマンドで出てきたパス*/phalcon.soと記載

インストール成功!

3日悩んでましたが、Slackで質問して、状況が把握できた後は20分くらいで作業が終了しました。


まとめ

上記でも少し触れましたが、今回の失敗の発端は、インストールの公式ドキュメントを雑に読んだことが始まりでした。

インストールには必要な条件、細かく設定が必要な場合があるので、ググってわからない場合はさっさと聞くのが良いでしょうね。

(今回はかなり遠回りしましたが、ググってわかる場合も多々あります)

また、それらのインストールに必要とされるソフトウェアだったりOSなりは、便利なコマンド群があるので、十二分に調べて活用しましょう!というお話でした。


参考記事

公式ドキュメント

(https://phalconphp.com/ja/)