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">