Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

runkit with PHP5.6.x

すでにpecl.php.netではメンテされていないrunkitですが、GitHubに移行したハズが現状ではmasterブランチでさえPHP5.6.xでbuildできません。これはissueにも上がっています。

で、これに対するpullリクエストもすでに上がっているんですが、本体へのマージのところで止まってしまっているようです。。。

なので、PHP5.6.xでrunkitを使いたい方は、pullリクエストに上げた方のブランチをcloneして使いましょう

なお、buildするにはgcc-4.6以降が必要なようで、CentOS6.xだと別途インストールする必要があります。今回はCentOS6.4にredhat developer toolsetをインストールしました。手順としては以下のような感じ。

$ cat /etc/issue
$ CentOS release 6.4 (Final)
$ Kernel \r on an \m
$
$ wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo 
$ sudo mv devtools-1.1.repo /etc/yum.repos.d/
$ sudo yum --enablerepo=testing-1.1-devtools-6 install -y devtoolset-1.1-gcc devtoolset-1.1-gcc-c++
$
$ git clone -b fix_php56 https://github.com/davidsteinsland/runkit.git
$ cd runkit/
$ phpize
$ CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp CXX=/opt/centos/devtoolset-1.1/root/usr/bin/c++ ./configure
$ make
$ sudo make install
$ 
$ sudo echo 'extension=runkit.so' >> /path/to/php.ini
$
$ php -v
PHP 5.6.6 (cli) (built: Feb 19 2015 18:40:44)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2015, by Zend Technologies
    with Xdebug v2.2.7, Copyright (c) 2002-2015, by Derick Rethans
$
$ php -m | grep runkit
runkit
$ 

これで無事PHP5.6でのテストができます:-)

追記(2015/12/03 15:30)

久しぶりにGitHubを見てみるといろいろと更新されているようで、今年の8月中旬にガツガツマージされたようです。
で、ちょっと試してみましたが、CentOS 6.4+gcc 4.4.7+PHP 5.6.16で問題なくmasterブランチをbuildできました。

$ php -v
PHP 5.6.16 (cli) (built: Nov 27 2015 13:00:24)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
    with Xdebug v2.2.7, Copyright (c) 2002-2015, by Derick Rethans
$ git clone https://github.com/zenovich/runkit.git
$ cd runkit/
$ phpize
$ make
$ sudo make install
$