2017年10月25日水曜日

mysql timestamp型<=>datetime型に変換

datetime型をtimestampに変換

select unix_timestamp('2017-10-24 09:31:42');
-> 1508805102

 timestampをdatetime型に変換

select from_unixtime(1508805102);
-> 2017-10-24 09:31:42

select from_unixtime(1508805102, '%Y/%m/%d %H:%i:%s');
->  2017/10/24 09:31:42

2017年10月20日金曜日

さくらインターネットで複数のバージョンのPHPを使う。PART2

以前「さくらインターネットで複数のバージョンのPHPを使う。」という記事を書いたが
標準が5.6になったでも7.1を使ってみたいよね。
PHPのバージョン選択を7.1にして動かない物だけ5.6を使うようにする。

コマンドラインでの作業になりますので十分注意をすること。 sshで自分のサーバーにログインします。 windowsならputtyとかPoderosaとか、 Macならcodaとかターミナルから ssh <自分のアカウント>@<自分のアカウント>.sakura.ne.jp と打ち込めばログインできます。
1
2
3
4
5
6
7
8
9
10
11
% ls -l /usr/local/php/
total
drwxr-xr-x  7 root  wheel  512 Sep 19 15:54 4.4
drwxr-xr-x  7 root  wheel  512 Sep 19 15:54 5.2
drwxr-xr-x  7 root  wheel  512 Sep 19 15:54 5.3
drwxr-xr-x  7 root  wheel  512 Sep 19 15:54 5.4
drwxr-xr-x  7 root  wheel  512 Sep 19 15:54 5.6
drwxr-xr-x  8 root  wheel  512 Sep 19 15:54 7.1
lrwxr-xr-x  1 root  wheel    3 Sep 19 15:54 cpanel -> 5.2
lrwxr-xr-x  1 root  wheel    3 Sep 19 15:54 default -> 5.6
drwxr-xr-x  7 root  www    512 Sep 19 15:54 modules

それぞれのディレクトリ下にbinディレクトリがありその下の目的のものがある。
1
2
3
4
5
6
7
8
9
10
11
% ls -l /usr/local/php/5.6/bin 
total
-rwxr-xr-x  1 root  wheel       857 Sep 19 15:54 pear
-rwxr-xr-x  1 root  wheel       878 Sep 19 15:54 peardev
-rwxr-xr-x  1 root  wheel       794 Sep 19 15:54 pecl
lrwxr-xr-x  1 root  wheel         9 Sep 19 15:54 phar -> phar.phar
-rwxr-xr-x  1 root  wheel     14837 Sep 19 15:54 phar.phar
-rwxr-xr-x  1 root  wheel  33860308 Sep 19 15:54 php
-rwxr-xr-x  1 root  wheel  33788156 Sep 19 15:54 php-cgi
-rwxr-xr-x  1 root  wheel      3264 Sep 19 15:54 php-config
-rwxr-xr-x  1 root  wheel      4550 Sep 19 15:54 phpize

このなかでファイルサイズの小さい物はリンクなので
大きいものを探す。どうやら本体はphp-cgiのようだ
これをwww/cgi-binにコピーする。

wwwに移動
ディレクトリcgi-binを作る
cgi-binに移動
先ほどlsで確かめたファイルをコピーする
1
% cp /usr/local/php/5.6/bin/php-cgi php56.cgi

コピーしたてはパーミッションが644になるので755に変更する必要がある
5.2なら/usr/local/5.2/bin/php-cgi

webサイトのrootの.htaccessに
1
2
Action php56-script /cgi-bin/php56.cgi
AddHandler php56-script .php

の2行を追加する。

.htaccessが無ければ作って保存する。

OSのバージョンが変わったらphp52.cgiを作り直す
そうしないと「Internal Server Error」が出ます。
AddHandler php52-script .php .html
とすると、拡張子が.htmlのままPHPのスクリプトを実行させる時にも使えます。

マルチドメインの場合はフォルダーの下にcgi-binを作り
同じようにコピーして.htaccessを置きます。