やっつけ不定記

好きなときに好きなことをちゃっちゃと書いてます

PHP7のビルドメモ

PHP7が出たので、CentOS7.1に入れてみたくなったのですが、
configureオプションがなかなか覚えられないのでメモ。
Apache、MOD_SSLPostgreSQLと一緒に入れること、
PHP7のインストールディレクトリを明示的に指定することを想定します。
やりながら書いてるので、適宜変更するかも。


# yum install gcc httpd httpd-devel mod_ssl libxml2-devel postgresql-server postgresql-devel openssl-devel epel-release


# vi /etc/yum.repos.d/epel.repo
[epel]

enabled=1

enabled=0


# yum --disablerepo=* --enablerepo=epel install libmcrypt-devel


$ tar zxfv php-7.0.0.tar.gz
$ cd php-7.0.0
$ ./configure --with-apxs2=/usr/bin/apxs --prefix=/usr/local/php-7.0.0 --enable-mbstring --enable-zip --with-openssl --with-pgsql --with-mcrypt
$ make
# make install
/etc/httpd/conf/httpd.confにLoadModulesのエントリが入る。


$ /usr/local/php-7.0.0/bin/php -v
PHP 7.0.0 (cli) (built: Dec 7 2015 23:38:11) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies


# vi /etc/httpd/conf.modules.d/php.conf
AddType application/x-httpd-php .php
DirectoryIndex index.php


# vi /var/www/html/phpinfo.php
phpinfo();を記述する。


# service httpd start


デフォルトでは通信がFirewalldに通せんぼされるので、
適当にフィルタするなり切るなりした後、
ブラウザで
http://localhost/phpinfo.php
にアクセスする。


php.iniをいじるときはconfigureしたディレクトリ内のphp-ini.productionを
/usr/local/lib/php.iniとしてコピーしたうえで編集する。
php.iniの配置先を任意のディレクトリに変更したいときは、
configure時に
 --with-config-file-path=(php.iniを置きたいディレクトリ)
を指定する。