先日、centos8 に php7 を install しましたが、 今回は、その環境へ php5 を install し、共存させます。
install php ver.7.3.15 and wordpress ver.5.3.2 - end0tknr's kipple - 新web写経開発
Win10環境のIISにおける 複数verのphp (php 5 , php7) の共存は 既に実施していますので、そちらをご覧ください。
Win10環境のIISにおける 複数verのphp (php 5 , php7) の共存 - end0tknr's kipple - 新web写経開発
php 5.6 の install
以下の通りです。 前回のphp7との相違点は、 configure時の prefix=/usr/local/php5 や、opensslのver です。
$ wget https://www.php.net/distributions/php-5.6.40.tar.gz $ tar -zxvf php-5.6.40.tar.gz ./configure \ --prefix=/usr/local/php5 \ --enable-mbstring \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-openssl=/usr/local/openssl_1_0_2 \ --with-zlib=/usr $ make $ make test $ sudo make install $ /usr/local/php5/bin/php -v PHP 5.6.40 (cli) (built: Apr 30 2020 01:42:01) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
php の旧verは、次のurlにて配布されています。
php の設定 ( php.ini )
[Thu Apr 30 02:25:36.696856 2020] [cgid:error] [pid 25391:tid 139769904359168] [client 192.168.63.1:13500] malformed header from script 'test.php5': Bad header: <b>Security Alert!</b> The PHP
apache の error_log に↑上記のようなエラーが表示される為、 php.ini を作成し、「 cgi.force_redirect = 0 」を設定します
$ /usr/local/php5/bin/php -i | grep php.ini Configuration File (php.ini) Path => /usr/local/php5/lib $ sudo vi /usr/local/php5/lib/php.ini cgi.force_redirect = 0
apache 2.4 の設定
拡張子=.php は、module版php の ver.7 で動作させ、 拡張子=.php5 は、cgi版php の ver.5 で動作させます。
以下は、apache設定ファイル(httpd.conf)の抜粋です。
$ vi /home/end0tknr/local/apache/conf/httpd.conf LoadModule cgid_module modules/mod_cgid.so <Directory "/home/end0tknr/dev/Test"> AllowOverride All Order allow,deny Allow from all Options ExecCGI AddHandler cgi-script .php5 AddHandler cgi-script .pl </Directory> Alias /Test /home/end0tknr/dev/Test
php cgi ファイルの作成
$ vi /home/end0tknr/dev/Test/test.php5 $ chmod 755 *php5 #!/usr/local/php5/bin/php-cgi <?php phpinfo(); ?>