2020年5月3日日曜日

[PHP] macOS Catalina で phpenv install のエラーでハマった

新しいMacをゲット。
環境設定を実施し始めたのだが、phpenv installでハマってしまったので メモ。


背景

さまざま環境設定をし、Homebrewもインストール、anyenv -> phpenv とインストールし、いざPHPの特定バージョンをインストールしようと以下を実行。
phpenv install 7.2.24

エラーがまあまあ出たが、 ひとつづつ解決していく


error: Cannot find xxxxx

Cannot find( 見つかりません)という単純なエラー

[Preparing]: /var/tmp/php-build/source/7.2.24

-----------------
|  BUILD ERROR  |
-----------------

Here are the last 10 lines from the log:

-----------------------------------------
configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: 2.3, min: 204, excluded: ).
configure: error: Cannot find zlib
-----------------------------------------

この手のエラーは特に問題なくHomebrewで、インストールしながら解決していく
brew install zlib

これでOK


error: Cannot find OpenSSL's <evp.h>

こういうエラー
[Preparing]: /var/tmp/php-build/source/7.2.24

-----------------
|  BUILD ERROR  |
-----------------

Here are the last 10 lines from the log:

-----------------------------------------
configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: 2.3, min: 204, excluded: ).
configure: error: Cannot find OpenSSL's <evp.h>
-----------------------------------------
これは、Catalina (Mojaveものようだが)になって、これまでできていたヘッダーファイルのありか(/usr/include)が作成されなくなるという仕様変更によるもののようで、ヘッダーファイルが探せないからのようだ。

この手のエラーはPHP_BUILD_CONFIGURE_OPTSなどで 回避ができるようになっており、以下のように指定をして実行すると良い。
PHP_BUILD_CONFIGURE_OPTS="--with-openssl=$(brew --prefix openssl) --with-libxml-dir=$(brew --prefix libxml2)" PHP_BUILD_EXTRA_MAKE_ARGUMENTS=-j4 phpenv install 7.2.24


特にハマったエラー error: Please reinstall the libcurl distribution

順調にエラーを回避していたのだが、最終的にこのエラーに一番悩まされた。
[Preparing]: /var/tmp/php-build/source/7.2.24

-----------------
|  BUILD ERROR  |
-----------------

Here are the last 10 lines from the log:

-----------------------------------------
configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: 2.3, min: 204, excluded: ).
configure: WARNING: Fallback: search for curl headers and curl-config
configure: error: Please reinstall the libcurl distribution -
      easy.h should be in <curl-dir>/include/curl/

-----------------------------------------
curl入ってるしなと思いながらいろいろ参考文献を探したが、分からず。。。
これも結局は

結局最終的にはPHP_BUILD_CONFIGURE_OPTSを指定することで回避ができた。


最終的に

以下のコマンドを実行することで無事インストールが できた。

// 7.2.24 インストール
PHP_BUILD_CONFIGURE_OPTS="--with-libedit=$(brew --prefix libedit) --with-curl=$(brew --prefix curl) --with-libcurl=$(brew --prefix curl) --with-openssl=$(brew --prefix openssl) --with-libxml-dir=$(brew --prefix libxml2)" PHP_BUILD_EXTRA_MAKE_ARGUMENTS=-j4 phpenv install 7.2.24

[Success]: Built 7.2.24 successfully.


// 7.1.8 もインストールできました
PHP_BUILD_CONFIGURE_OPTS="--with-libedit=$(brew --prefix libedit) --with-curl=$(brew --prefix curl) --with-libcurl=$(brew --prefix curl) --with-openssl=$(brew --prefix openssl) --with-libxml-dir=$(brew --prefix libxml2)" PHP_BUILD_EXTRA_MAKE_ARGUMENTS=-j4 phpenv install 7.1.8

[Success]: Built 7.1.8 successfully.






2019年3月17日日曜日

FX分析のため過去の為替データを取得


結構前から興味を持ち始めた機械言語、コツコツ勉強してきました。

何を分析しようか。
「うーん、やっぱり為替データでもコネコネしますか」ということで、まずはデータ集めから。

2018年12月3日月曜日

[Mac/Linux] Anacondaで Python3系をインストールし Jupyter Notebook を使うまで


Step0. Anaconda とは

Continuum Analytics 社が提供している Python ディストリビューションです。
ダウンロードしてインストールすると、[Python] と [データサイエンスを扱うのに頻繁に利用されるライブラリ] を丸っとまとめてコンピュータに導入することができます。

[ライブラリ] とは [numpy],[scikit-learn],[matplotlib],[curl],[pip] などですね。もちろん [jupyter] も入ってます。
詳細は公式ドキュメントの一覧を参照してください。

本記事を読むことでできること

[Windows / Mac / Linux] で利用ができますが、本記事を読むことで [Mac / Linux] でのインストールと [Jupyter Notebook] を利用することができるようにします。

2018年5月8日火曜日

[GCP] google cloud storage を PHP から利用する

【試した環境】
Google Cloud Platform(GCP)[VMインスタンス]で実行
OS : Linux(Debian 9.2)
PHP(7.0.27)

今回は [Google Cloud Storage] を [PHP] 上から利用していきます。

2018年1月27日土曜日

[PHP] IPアドレスから国を判定する(国コード)を取得する

【試した環境】
Google Cloud Platform(GCP)[VMインスタンス]上で実行
OS : Linux(Debian 9.2)
PHP(7.0.27)

今回はPHPでgeoipを利用して、[IPアドレス] や [ホスト名] から国を判定する(国コードなどの取得する)方法です。

2018年1月21日日曜日

[Debian9] SSL/TLS証明書「Let's Encrypt」の導入記録


【試した環境】
Google Cloud Platform(GCP)[VMインスタンス]上で実行
OS : Linux(Debian 9.2)

今回は [Debian 9] で [SSL/TLSの証明書(Let's Encrypt)] を [Apache] インストール環境へ導入した時の記録を残しておきたいと思います。

2018年1月19日金曜日

[HTML] httpsかhttpかを気にせずリンク先URIにアクセスさせる

[<a>タグ] や [<img>タグ] に指定するURIは、[http:] [https:] を省略して記載することができます。
<a href="//google.co.jp">

[PHP] シェルコマンド(Linuxコマンド)を実行する


【試した環境】
Google Cloud Platform(GCP)[VMインスタンス]上で実行
OS : Linux(Debian 9.2)
PHP(7.0.27)

PHPでシェルコマンド(Linuxコマンド)を実行したいときがたまにある。
[shell_exec] を利用することで実行ができる。

2018年1月18日木曜日

[Apache] Apache2.4 (Debian) でファイル一覧を無効にする


【試した環境】
Google Cloud Platform(GCP)[VMインスタンス]上で実行
OS : Linux(Debian 9.2)
Apache(2.4.25)

Webサーバのファイル一覧がApacheのデフォルトでは覗けてしまう。
これではセキュリティ上問題なので、制御したい。
/etc/httpd/conf/httpd.conf
とよく記載があるが、Debian系のApache2.4での設定ファイルが違ったのでメモ。

2018年1月17日水曜日

[Word Press] サーバ切り替えの記録


【試した環境】
切替元:Amazon EC2(Red Hat 4.8.3-9)
切替先:Google Cloud Platform(Debian 9.2)
Word Press:最新バージョン(4.9.2–ja)

[Word Press] のサーバ切替の記録です。
[All-in-One WP Migration] というプラグインを使って引越しをします。

[Word Press] FTPを使わない本体の更新 [Debian + apache2]


[Word Press] の本体を更新しようとすると [FTP] のログインを求められる場合、以下の方法で解決ができます。

[phpMyAdmin] permission to access エラーとなったときの対処メモ


【試した環境】
Amazon EC2(AWS)[VMインスタンス]上で実行
OS : Linux(Red Hat 4.8.3-9)

[phpMyAdmin] にアクセスした時にエラー [You don’t have permission to access /phpmyadmin/ on this server.] が発生した時の対処メモです。

グローバルIPアドレスの調べ方


自分の端末が利用しているネットワークのIPアドレス(グローバルIPアドレス)を調べる方法です。

[Google Cloud Platform] サブドメイン名を設定する

【試した環境】
Google Cloud Platform(GCP)[VMインスタンス]で実行
OS : Linux(Debian 9.2)
お名前.com

今回は [Google Cloud Platform(GCP)] にサブドメイン名を設定したいと思います。
IPではなく、適切などメインでアクセスをしてもらえるようになります。

2018年1月16日火曜日

[Android Studio] Emulator: PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [PATH]


[Androi Studio] のバージョンが3.x系になり、[Android Studio 3.0.1] へバージョンアップ(実質は上書きインストール)したときの話です。

[Androidエミュレータ] で実行をしようとすると以下のようなエラーが・・・
Emulator: PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [PATH]!

解決したのでその方法をメモ。

[Mac] 環境変数の確認、設定、削除


[Mac] や [Linux] での環境変数の確認、設定、削除の方法です。

いろいろなSSL証明書の確認方法


今回はさまざまなSSL証明書の確認方法をまとめます。

2018年1月15日月曜日

[Google Cloud Platform] VSCodeでGCPに接続して同期保存して便利に使う [sftp]

【試した環境】
Google Cloud Platform(GCP)[VMインスタンス]で実行
OS : Linux(Debian 9.2)
接続元OS : Windows 7
Visual Studio Code(VSCode)(1.19.1)
sftp(0.9.5)


[Microsoft]が開発している有名エディタ[Visual Studio Code(VSCode)]。
最近、軽くて軽快という噂をよく目にするので、こちらを試しているところです。

今回はこの[VSCode]から[Google Cloud Platform(GCP)]にFTP接続して便利に使いたいと思います。
[Visual Studio Code]で保存すると同時に同期保存が可能とすることもできます。

今回は[sftp]というパッケージを使います。

2018年1月11日木曜日

著作権やライセンスの理解が曖昧だったのでざっくり整理してみた

いちプログラマとして著作物を作る機会が多いのですが、著作権やライセンスについてあまり理解せずにここまできたので、まずは大雑把にでも理解を深めるためにざっくり整理してみたいと思います。
(詳細は文末の参考先のリンクを読むと良いと思います)

※専門家ではないので、間違いなどあれば指摘いただけると助かります。

[Linux] バックグラウンドでLinuxコマンドを実行する


【試した環境】
Google Cloud Platform(GCP)[VMインスタンス]上で実行
OS : Linux(Debian 9.2)

今回はバックグラウンドでLinuxコマンドを実行する方法です。

バックグラウンドでLinuxコマンドを実行

コマンドの最後に[&]をつけるとバックグランドで実行することができる。
$ [実行コマンド] &