CentOS 6.8にPHP 5.6.xを入れてみる。

とあるテストサーバーを作っててBASEのPHPのバージョンを変えずにphp-cgiを動かす形でPHP 5.6を動かそうとしたメモ。

前提条件として使ったOSはCentOS 6.8(x64)をBASIC Serverでインストール。
yum -y updateした後、追加で入れたパッケージはApache,PHP,MySQL-Server,vsftpd。EPELからphpMyAdmin。この時点ではPHPは5.3.3のはずなので、PHP 5.6のソースを適当なディレクトリにダウンロードしてきて展開しておく。(今回は5.6.29)

利用するconfigureのパラメータは

php -i | grep configure | sed -e 's/ /\n/g'

で確認した物を編集してこんな感じのを用意。(phpinfoで確認しても良いだろうけど)

./configure \
--prefix=/usr/local/lib64/php-5.6.29 \
--with-config-file-path=/usr/local/lib64/php-5.6.29 \
--disable-debug \
--disable-rpath \
--enable-bcmath \
--enable-calendar \
--enable-dba \
--enable-dom \
--enable-exif \
--enable-cgi \
--enable-fileinfo \
--enable-ftp \
--enable-gd-native-ttf \
--enable-intl \
--enable-json \
--enable-mbregex \
--enable-mbstring \
--enable-pcntl \
--enable-pdo \
--enable-phar \
--enable-posix \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--enable-xml \
--enable-xmlreader \
--enable-xmlwriter \
--enable-zip \
--with-bz2 \
--with-curl \
--with-db4=/usr \
--with-enchant \
--with-freetype-dir=/usr \
--with-gd \
--with-gettext \
--with-gmp \
--with-iconv \
--with-icu-dir=/usr \
--with-imap \
--with-imap-ssl \
--with-jpeg-dir=/usr \
--with-kerberos \
--with-layout=GNU \
--with-ldap \
--with-ldap-sasl \
--with-libdir=lib64 \
--with-libedit \
--with-libxml-dir=/usr \
--with-mysql \
--with-mysqli \
--with-openssl \
--without-gdbm \
--without-pear \
--without-readline \
--with-pdo-mysql \
--with-pdo-odbc=shared,unixODBC,/usr \
--with-pdo-pgsql \
--with-pdo-sqlite \
--with-pgsql \
--with-pic \
--with-png-dir \
--with-pspell \
--with-snmp \
--with-sqlite3 \
--with-tidy \
--with-unixODBC=/usr \
--with-xmlrpc \
--with-xpm-dir=/usr \
--with-xsl \
--with-zlib

5.6に無いオプションを削ったりした感じ。(with-recodeはwith-imapとバッティングするんだけど5.3.3では両方オプション活きてるのなんでだろ…なのでwith-recodeは抜いた)あとはインストール先とかiniファイルの場所とか。

さて、configureを走らせる前にアレコレ依存パッケージを突っ込んでおく。
必要なのはこんな感じ(依存関係で入るパッケージも沢山)

yum install gcc
yum install gcc-c++
yum install libxml2-devel
yum install openssl-devel
yum install pcre-devel
yum install sqlite-devel
yum install bzip2-devel
yum install libcurl-devel
yum install enchant-devel
yum install libjpeg-devel
yum install libpng-devel
yum install libXpm-devel
yum install freetype-devel
yum install gmp-devel
yum install libc-client-devel
yum install libicu-devel
yum install openldap-devel
yum install mysql-devel
yum install unixODBC-devel
yum install postgresql-devel
yum install aspell-devel
yum install libedit-devel
yum install net-snmp-devel
yum install libtidy-devel
yum install libxslt-devel
yum install cyrus-imapd-devel

あとは、前記のconfigure流してmake,make installでまずはO.K.

私の場合、出来たphp-cgiを/var/www/php/5.6.29とか掘ったディレクトリにコピーしてApacheのconfでバーチャルホスト作ってこんな感じのを突っ込んで終わり。

    Alias /php/ "/var/www/php/"

    <Directory "/var/www/php">
        SetHandler cgi-script
        AllowOverride None
        Options ExecCGI
        Order allow,deny
        Allow from all
    </Directory>

    Action php-script-5.6.x /php/5.6.29/php-cgi

    AddHandler php-script-5.6.x .php

後はApacheを再起動してphpinfo書いたファイル作って確認して出来ていれば完了。

ちなみに今回はconcrete5を動かす為にこんな事してみました。

なお、同じ様にconfigure書いてmakeしてphp-cgi動かすなんて事をお名前のVPSでもやって問題無く動いてます。

連休

今年始まって早々と三連休。今年は日の並びが悪いらしいので連休が少ないとか…でも、それ以前に人として駄目になりそうです。

目下楽しみは休み明けに行く常連店。新年美味しい何が食べられるか期待が膨らみます。

来週からは少し本気出して良い仕事しますか…

新年とりあえずやってみたいこと

仕事とやらなきゃいけない自宅鯖の整理とは別にやりたいなぁと思ってるのがGoとPython。

何処から取りかかろうかとは思っているんだけどね。

実務としてやりたいのはXamarinだなぁ…ただ和訳資料が少ないのがね…まぁやってみますが。

結局仕事絡みになる辺りが悲しい。

マズイ…眠れん

夕飯を食べて早々に寝落ちしたのが敗因(汗)

まぁ年末年始ロクな生活をしていなかったのでこんなものか…

しかし今夜は風が強いので窓が煩い。仕事始めから寒いのはイヤだなぁ。

ちなみに

バリバリ(死語)ブログ書いてた頃はMTだったのでWPはまだよくわかってない。

過去のライフログはばっさり消したので、心機一転頑張れるかどうかわからないけど続けて…いられるかな(汗)

明けてました

2016年何にもしないうちに明けてましたorz

新年からまぁ鬱な事(おぃ)

今年こそは更新しますか・・・

年末から年明けにやったことと言えば、早々に寝落ちして早朝起きて初日の出中継見てから寝て、夜ウルトラマンDASH見たくらい?

あ、魔法少女育成計画一気見しましたね。

なんて計画性のないだらけた年明けでした。

ちなみに年越しの夢見は仕事の夢。これから初夢良いこと見られるかなぁ。(望み薄)

ま、ボチボチ何か書くかも知れないし、挫折するかも知れないし。

そんなこんな・・・