ラベル さくらインターネット の投稿を表示しています。 すべての投稿を表示
ラベル さくらインターネット の投稿を表示しています。 すべての投稿を表示

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 と打ち込めばログインできます。

それぞれのディレクトリ下にbinディレクトリがありその下の目的のものがある。

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

wwwに移動
ディレクトリcgi-binを作る
cgi-binに移動
先ほどlsで確かめたファイルをコピーする

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

webサイトのrootの.htaccessに

の2行を追加する。

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

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

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

2014年3月11日火曜日

さくらのレンタルサーバーでcakephpのBASIC認証が使えない訳

やらない方がいいと思うんだけど条件つきで
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /sandbox
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
# CGI版PHP用 BASIC認証の為
# CGI版PHPでは$_SERVER[’PHP_AUTH_USER’]と$_SERVER[’PHP_AUTH_PW’]が参照できない。
# でも下記の3行を追加すると使えるようになる
 RewriteEngine On
 RewriteCond %{HTTP:Authorization} ^(.*)
 RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
</IfModule> 

参考:
PHP による HTTP 認証

Basic認証でのログアウトの仕方

2013年9月13日金曜日

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

もしくは、拡張子が.htmlのままPHPのスクリプトを実行させる
最近はphpが5.3以上というフレームワークやwebアプリが増えてきたのでとうとう
さくらインターネットのphpの標準が5.2から5.4になった。
しかし、まだphp5.2でしか動かない古いwebアプリが残っていてphp5.4にすると
そのサイトはワーニングを出すようになってしまった。
せっかくphpが5.4になったのに古いwebアプリの為にダウングレードするのは
大変残念なので、古いwebアプリだけ古いphpを使うようにしてみた。

コマンドラインでの作業になりますので十分注意をすること。
sshで自分のサーバーにログインします。
windowsならputtyとかPoderosaとか、
Macならcodaとかターミナルから
ssh <自分のアカウント>@<自分のアカウント>.sakura.ne.jp
と打ち込めばログインできます。

5.2.17 5.3.27 5.4.17 が表示された。それぞれphpの5.2 5.3 5.4である。
それぞれのディレクトリ下にbinディレクトリがありその下の目的のものがある。
php何とかがいっぱいある。このなかでファイルサイズの小さい物はリンクなので
大きいものを探す。どうやら本体はphp-cgi-mysql5.5のようだ
これをwww/cgi-binにコピーする。

wwwに移動
ディレクトリcgi-binを作る
cgi-binに移動
先ほどlsで確かめたファイルをコピーする
5.3なら/usr/local/5.3.27/bin/php-cgi-mysql5.5

webサイトのrootの.htaccessに
の2行を追加する。

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

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

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

2012年8月2日木曜日

[cakephp] さくらのレンタルサーバーへcakephp 1.3のインストール

さくらのレンタルサーバーにcakephp1.3をインストールする方法

http://ユーザー名.sakura.ne.jp/cake に設置する場合。

wwwと同じ位置にcakephp1.3をcakephpという名前で展開します。

cakephp/app/webrootのhtaccessのRewriteEngine Onの次の行に

RewriteBase /cakeを追加します。

サーバーにsshでログインします。

windowsならばputty等を使い

ユーザー名とコントロールパネルのパスワードでログインできる。

ログインしたら次のコマンドを打ち込んでエンターを押して下さい。

ln -s `pwd`/cakephp/app/webroot `pwd`/www/cake

pwdを囲んでいるのは、バッククォートですのでお間違いなく
(ln -s /home/ユーザー名/cakephp/app/webroot /home/ユーザー名/www/cake)と同じ

www/cakeを独自ドメインのルートに割り当てればRewriteBase行の追加は必要ありません。

2012年6月29日金曜日

[apache] さくらのレンタルサーバーとmod_rewrite

さくらのレンタルサーバーはRewriteEngine OnしてもRewriteBase の記述がないとうまく動かない。
↓↓これでは動かない↓↓
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

↓↓こうしないとダメ↓↓
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

サーバーのスペックは
FreeBSD 7.1-RELEASE-p16 i386
Apache/1.3.42 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.8e
PHP 5.2.17
です。