PHP7をubuntu14.10にインストール

ChainZ(クリエイター)
いろいろやってます。

PHP7に少し興味湧いてきたので、自前のサーバーにインストールしてみました。ちなみに、下記の記事を参考しました。

http://www.zimuel.it/install-php-7/

インストール手順

PHP7はまだ開発段階なので、releaseバージョンがなくて、PHP7のリポジトリをローカルにcloneしてインストールするって感じです。

git clone https://git.php.net/repository/php-src.git /path/to/php7/php-src

必要なライブラリをインストールしときます:

apt-get install libxml2-dev libpcre3-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng12-dev libxpm-dev libfreetype6-dev libmysqlclient-dev libt1-dev libgd2-xpm-dev libgmp-dev libsasl2-dev libmhash-dev unixodbc-dev freetds-dev libpspell-dev libsnmp-dev libtidy-dev libxslt1-dev libmcrypt-dev

configureします

cd php-src
./buildconf
./configure \
--prefix=$HOME/php7/usr \
--with-config-file-path=$HOME/php7/usr/etc \
--enable-mbstring \
--enable-zip \
--enable-bcmath \
--enable-pcntl \
--enable-ftp \
--enable-exif \
--enable-calendar \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-curl \
--with-mcrypt \
--with-iconv \
--with-gmp \
--with-pspell \
--with-gd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--with-xpm-dir=/usr \
--with-freetype-dir=/usr \
--with-t1lib=/usr \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-openssl \
--with-mysql=/usr \
--with-pdo-mysql=/usr \
--with-gettext=/usr \
--with-zlib=/usr \
--with-bz2=/usr \
--with-recode=/usr \
--with-mysqli=/usr/bin/mysql_config

configureする時に、「ライブラリが存在しません」とかのエラーが表示する可能性がありますが、だいたいどんなライブラリが見つからないとかは丁寧に教えてくれるので、aptitude search <ライブラリ名>で検索してみて、apt-get installでインストールすれば解決できます。

例えばconfigure: error: xml2-config not found. Please check your libxml2 installation.のエラーの場合は、「libxml2をインストールしてください」ということなので、apt-get install libxml2-devでインストールできます。基本的に、-devを付けてapt-get installをすれば解決できます。

Error: Unable to locate gmp.h locate gmp.hgmp.hの場所を絞り出して、/usr/include/gmp.hのシンボリックリンクを作成すれば解決できます。

configureが終わったら、

make
make install

でソースコードをコンパイルします。make install$HOME/php7ディレクトリーを作成したので、

ln -s $HOME/php7/usr/bin/php /usr/local/bin/php7

すると、php7コマンドが使えるようになります。

php7 -v
PHP 7.0.0-dev (cli) (built: Aug 30 2015 19:38:07)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies