質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

0回答

1416閲覧

vagrant で構築した Ubuntu 16 の環境で phpenv を使用した php のインストールが出来ません

退会済みユーザー

退会済みユーザー

総合スコア0

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2020/04/08 15:18

環境

OS

vagrant で構築した Ubuntu 16 の環境です。

$ cat /etc/os-release NAME="Ubuntu" VERSION="16.04.6 LTS (Xenial Xerus)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 16.04.6 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" VERSION_CODENAME=xenial UBUNTU_CODENAME=xenial

phpenv

anyenv を使用しています。
インストール手順は https://github.com/anyenv/anyenv に従っています。

実現したいこと

php 7.3 を入れたいので、

phpenv install 7.3.16

でインストールしようとしています。
何度か、パッケージが足りないと言われたのでその都度パッケージのインストールを行い、再度 php のインストールという手順で行っています。

その際に以下のエラーが発生して解決方法がわからなくて困っています。
試しに 7.3.0, 7.2.0 もインストールしてみましたが、同じ問題が発生します。

発生している問題・エラーメッセージ

$ phpenv install 7.3.16 [Info]: Loaded extension plugin [Info]: Loaded apc Plugin. [Info]: Loaded composer Plugin. [Info]: Loaded github Plugin. [Info]: Loaded uprofiler Plugin. [Info]: Loaded xdebug Plugin. [Info]: Loaded xhprof Plugin. [Info]: Loaded zendopcache Plugin. [Info]: php.ini-production gets used as php.ini [Info]: Building 7.3.16 into /home/vagrant/.anyenv/envs/phpenv/versions/7.3.16 [Skipping]: Already downloaded and extracted https://secure.php.net/distributions/php-7.3.16.tar.bz2 [Preparing]: /tmp/php-build/source/7.3.16 ----------------- | BUILD ERROR | ----------------- Here are the last 10 lines from the log: ----------------------------------------- configure: error: build test failed. Please check the config.log for details. ----------------------------------------- The full Log is available at '/tmp/php-build.7.3.16.20200409000624.log'. [Warn]: Aborting build.

関連するログ

/tmp/php-build.7.3.16.20200409000624.log にはほとんど情報が載っていません。

$ cat /tmp/php-build.7.3.16.20200409000624.log configure: error: build test failed. Please check the config.log for details.

上記ログで指定されている config.log ですが、行数がものすごいので一旦省略します。

$ wc -l /tmp/php-build/source/7.3.16/config.log 13390 /tmp/php-build/source/7.3.16/config.log

ただ、このログの内容から以下のコマンドが正常に終了していないということはわかりました。

$ ./configure --with-config-file-path=/home/vagrant/.anyenv/envs/phpenv/versions/7.3.16/etc --with-config-file-scan-dir=/home/vagrant/.anyenv/envs/phpenv/versions/7.3.16/etc/conf.d --prefix=/home/vagrant/.anyenv/envs/phpenv/versions/7.3.16 --libexecdir=/home/vagrant/.anyenv/envs/phpenv/versions/7.3.16/libexec --datadir=/home/vagrant/.anyenv/envs/phpenv/versions/7.3.16/share/php --mandir=/home/vagrant/.anyenv/envs/phpenv/versions/7.3.16/share/man --enable-sockets --enable-exif --with-zlib --with-zlib-dir=/usr --with-bz2 --enable-intl --with-kerberos --with-openssl --enable-soap --enable-xmlreader --with-xsl --enable-ftp --enable-cgi --with-curl=/usr --with-tidy --with-xmlrpc --enable-sysvsem --enable-sysvshm --enable-shmop --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-sqlite --enable-pcntl --with-readline --enable-mbstring --disable-debug --enable-fpm --enable-bcmath --enable-phpdbg --without-pear --with-gd --with-png-dir=/usr --with-jpeg-dir=/usr --enable-zip --with-libdir=lib64

なので上記コマンドを手動で試してみたところ、以下の箇所で止まっているようでした。
libxml2 関連でなにか問題があるように思えます。

Configuring extensions checking for strings.h... (cached) yes checking io.h usability... no checking io.h presence... no checking for io.h... no checking for strtoll... yes checking for atoll... yes checking whether to enable LIBXML support... yes checking libxml2 install dir... no checking for xml2-config path... /usr/bin/xml2-config checking whether libxml build works... no configure: error: build test failed. Please check the config.log for details.

試したこと

libxml2 がインストールされているかは確認しました。
libxml2-dev も含めてきちんとインストールされています。

$ dpkg -l libxml2 Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==========================================-==========================-==========================-========================================================================================== ii libxml2:amd64 2.9.10+dfsg-2+ubuntu16.04. amd64 GNOME XML library $ dpkg -l libxml2-dev Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==========================================-==========================-==========================-========================================================================================== ii libxml2-dev:amd64 2.9.10+dfsg-2+ubuntu16.04. amd64 Development files for the GNOME XML library

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2020/04/15 05:51

ubuntu 18.04 にして、phpenv は使わずに普通に apt で php を入れるのでは駄目なのでしょうか?
退会済みユーザー

退会済みユーザー

2020/04/15 06:05

はい。 複数のバージョンの php を使用したく、もちろん apt でそれぞれのバージョンの php を入れることも出来ますが、より気軽に切り替えたいため phpenv を使いたいというのが背景になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問