過去、phpは何度かinstallしていますが、今回は php ver.7.1.8
2017.8.11追記
このエントリを記載後、wordpress ver.4.0.17をinstallしましたが、wordpressのwed管理画面で 次のようなエラーが表示されました。 wordpress ver.4.0.17は、php ver.7.1に未対応のようですので、今回はココまでにします。
Warning: Parameter 1 to wp_default_styles() expected to be a reference, value given in wordpress/wp-includes/plugin.php on line 580
php前準備
php-7.1.8/INSTALL を参照したり、make中のerror messageを参照しながら、 以下を、install
re2c - lexer generator for C/C++
$ wget https://github.com/skvadrik/re2c/releases/download/0.16/re2c-0.16.tar.gz $ tar -zxvf re2c-0.16.tar.gz $ cd re2c-0.16 $ ./configure $ make $ make check $ su # make install
flex - lexical analyser
https://sourceforge.net/projects/flex/files/
$ wget https://sourceforge.net/projects/flex/files/flex-2.6.0.tar.gz $ tar -zxvf flex-2.6.0.tar.gz $ cd flex-2.6.0 $ ./configure $ make $ make check $ su # make install
bison - general-purpose parser generator
https://www.gnu.org/software/bison/
$ wget http://ftp.gnu.org/gnu/bison/bison-3.0.4.tar.gz $ tar -zxvf bison-3.0.4.tar.gz $ cd bison-3.0.4 $ ./configure $ make $ make check $ su # make install
libxml2-devel
# yum install libxml2-devel
ICU - International Components for Unicode
$ wget http://download.icu-project.org/files/icu4c/59.1/icu4c-59_1-src.tgz $ tar -zxvf icu4c-59_1-src.tgz $ cd icu/source $ ./configure $ make $ make check $ su # make install
openssl
以前、installしたものは 非sharedだったようですので
$ wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz $ tar -zxvf openssl-1.1.0f.tar.gz $ cd openssl-1.1.0f $ ./config --prefix=/usr/local/openssl_1_1_0 shared $ make $ make test $ su # make install
zlib-devel の install dirを調査
configureのoptionで指定しますので
# yum install zlib-devel Package zlib-devel-1.2.7-17.el7.x86_64 already installed and latest version $ rpm -ql zlib-devel-1.2.7-17.el7.x86_64
php
$ tar -zxvf php-7.1.8.tar.gz $ cd php-7.1.8 $ ./configure \ --with-apxs2=/home/endo/local/apache22/bin/apxs \ --enable-mbstring \ --with-mysqli=/usr/local/mysql/bin/mysql_config \ --with-pdo-mysql=/usr/local/mysql \ --with-openssl=/usr/local/openssl_1_1_0 \ --with-zlib=/usr $ make $ make test : mysqli_release_savepoint() [ext/mysqli/tests/mysqli_release_savepoint.phpt] mysqli_report() [ext/mysqli/tests/mysqli_report.phpt] mysqli_report(), change user, MySQL 5.6+ [ext/mysqli/tests/mysqli_report_new.phpt] mysqli_store_result() [ext/mysqli/tests/mysqli_store_result_buffered_c.phpt] Bug #66141 (mysqlnd quote function is wrong with NO_BACKSLASH_ESCAPES after failed query) [ext/pdo_mysql/tests/bug66141.phpt] Bug #70389 (PDO constructor changes unrelated variables) [ext/pdo_mysql/tests/bug70389.phpt] Bug #61411 (PDO Segfaults with PERSISTENT == TRUE && EMULATE_PREPARES == FALSE) [ext/pdo_mysql/tests/bug_61411.phpt] MySQL PDO->__construct() - Generic + DSN [ext/pdo_mysql/tests/pdo_mysql___construct.phpt] PDO::ATTR_ORACLE_NULLS [ext/pdo_mysql/tests/pdo_mysql_attr_oracle_nulls.phpt] PDO MySQL specific class constants [ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt] MySQL PDO->exec(), affected rows [ext/pdo_mysql/tests/pdo_mysql_exec.phpt] ===================================================================== ===================================================================== WARNED TEST SUMMARY --------------------------------------------------------------------- MySQL PDO->prepare(), emulated PS [ext/pdo_mysql/tests/pdo_mysql_prepare_emulated.phpt] (warn: XFAIL section but test passes) ===================================================================== $ su # make install # cp php.ini-development /usr/local/lib/php.ini
apache 2.2 との連携
httpd.conf
phpのconfigure optionで 「with-apxs2=/home/endo/local/apache22/bin/apxs」指定してますので 「modules/libphp7.so」は自動追加されているはずです。
それ以外は、自身で追加して下さい。
LoadModule php7_module modules/libphp7.so AddType application/x-httpd-php .php <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
phpinfo.php による動作確認
<?php phpinfo(); ?>
↑このようなphp scriptを用意し、アクセスすると↓このように表示されます。
画像が長すぎて読めないかもしれませんが