今回はいろいろわけあって、特定のディレクトリ配下だけのphpバージョンを変えたいということでやってみます!
もともとシステムが動いている。新しいシステムも入れたいということで、あんまりよくないけどできるだけバージョンは上げておいた方がいいんでね。
ほな、特定のディレクトリ配下だけバージョンをあげてみる。
Table of Contents
php.cgiを置く
CGIプログラムファイルの設置例←も参考にしてみましょう。
ではスタート~
使いたいバージョンのphpがまずあるのかどうかを確認します。
$ ls /usr/bin/php*
/usr/bin/php /usr/bin/php-fcgi5.3 /usr/bin/php-fcgi5.6 /usr/bin/php-fcgi7.2 /usr/bin/php-fcgi8.0 /usr/bin/php5.4 /usr/bin/php5.6-cgi /usr/bin/php7.1 /usr/bin/php7.2-cgi /usr/bin/php7.4 /usr/bin/php8.0-cgi
/usr/bin/php-cgi /usr/bin/php-fcgi5.4 /usr/bin/php-fcgi7.0 /usr/bin/php-fcgi7.3 /usr/bin/php5.1 /usr/bin/php5.5 /usr/bin/php7.0 /usr/bin/php7.1-cgi /usr/bin/php7.3 /usr/bin/php7.4-cgi /usr/bin/phpize
/usr/bin/php-fcgi5.1 /usr/bin/php-fcgi5.5 /usr/bin/php-fcgi7.1 /usr/bin/php-fcgi7.4 /usr/bin/php5.3 /usr/bin/php5.6 /usr/bin/php7.0-cgi /usr/bin/php7.2 /usr/bin/php7.3-cgi /usr/bin/php8.0
まあこんな感じで大量に出てくるはず。
そしたら、利用したいphpのバージョンを探す。今回はphp7.4です。
うしろにcgiってのがついているやつを利用するらしい。
/usr/bin/php7.4-cgi
そしたら対象のディレクトリにcgiファイルを作ります。
例として以下
/home/test/{配下のバージョンを変更したいディレクトリ}/php.cgi
ここにファイルを作って中身はこんな感じ。
#!/usr/bin/sh
exec /usr/bin/php7.4-cgi
Code language: JavaScript (javascript)
ここで利用したいバージョンのパスを指定するわけですね。
一旦権限を確認してください。
$ ls -la php.cgi
権限が755じゃない場合は変更が必要です。
$ chmod 755 php.cgi
ほい!これで大丈夫ですね!!!!!
ここはこれでok
.htaccessの作成
ではphp.cgiと同じ階層に.htaccessを追加、もしくは無い場合は作成します。
内容は以下
.htaccess
Action myphp-script /test/php.cgi
AddHandler myphp-script .php .html
ファイル、フォルダは環境に合わせて変更。
確認
test配下にphpinfo()を置いて確認してみましょう。
test/test.php
<?php phpinfo(); ?>
Code language: HTML, XML (xml)
まとめ
なんかすごく戸惑ったけど、問題がcgiファイルのファイル属性が755になっていなかった!というのがありました。
手順とか探した時に一番やったらダメなのが、流し読みですな。
しっかり飛ばさずに一度やってみるべし。