2690

さくらサーバでhtmlをphpとして扱う方法

さくらサーバでhtmlをphpとして扱う方法

2010.4.12

実は、この話題は、非常にたくさんの方が記事にして書かれています。ただ、内容が微妙に古かったり、誤字脱字などでその通りに動かないこともあり、随分悩みました。そこで、リンクを紹介しつつ、特に管理人がつまづいた部分をメモしておこうと思います。

php.cgiというファイルがない!

自分は最初、ここで躓きました。指定されたパスに移動しても、そんなファイルはないのです。それらしき名前はあっても、シンボリック(Windowsで言うショートカットのようなもの)になっており、ファイルの実体を触ることができないのですから。

これに関しては、「突然のInternal Server Error(さくらインターネット) « LIFE FOR -Free Feelings-」が解決してくれました。
結論を書くと、「php-cig-mysql4.0」「php-cig-mysql5.1」というファイルをリネームすればよいのです。

もちろん将来的には、mysqlX.Xの部分のバージョン数字部分は変わっていくでしょう。

/usr/local/php/ 配下にあるPHPのバージョンが違う!

個人的にここはそんなに躓きませんでしたが、備忘録として書いておきます。例えば「突然のInternal Server Error(さくらインターネット) « LIFE FOR -Free Feelings-」の記事内に出てくるphpは「5.2.8」、管理人が使っているphpは「4.4.9」「5.2.12」「5.2.13」の3つ。
ようするに、サーバによってphpのバージョンは異なっているので、適宜、自分のサーバのphpに読み替えていただければいい、という事ですね。

/usr/local/php/ 配下PHPのバージョンが複数あって、どれを選べばいいか分からない!

管理人が今回みたサーバには、「4.4.9」「5.2.12」「5.2.13」の3つが入っていました。これではどのバージョンを使っているのか分からない!これも「突然のInternal Server Error(さくらインターネット) « LIFE FOR -Free Feelings-」の記事が解決してくれました。

これは、「index – Terminal Emulator Poderosa」というWindows用ソフトを使って確認しました。
ターミナルを使って、/usr/local/php/の階層(つまり「4.4.9」「5.2.12」「5.2.13」の3つのphpがある階層)まで移動し、

ls -l と入力することで、そのファイルの属性まで確認することができます。

筆者の環境で言うと、上記の画像の場合、以下のことが分かります。

php-cig-mysqlX.Xをコピー&リネームする

これは「さくらインターネットで拡張子.htmlのままPHP実行可能にする – MiuxMiu」の記事を参考にしていたのですが、上手く動かない。これは筆者の環境を元に結論を書くと以下のようになります。

cp /usr/local/php/5.2.12/bin/php-cgi-mysql5.1 /home/アカウント名/www/php.cgi

php.cgiのパーミッションは755にしておく

異なるパーミッションで比較をしたわけではないですが、さくらサーバは755(or 705)にしておくのがよいみたいです。(読み込ませたいファイルの場合は644(or 604))
そのため、コピー&リネームしたphp.cgiのパーミッションを755あたりにしておきましょう。

.htaccessの設定

これは素直に以下をコピーして.htaccessとしてアップすればいいでしょう。

Action myphp-script /php.cgi AddHandler myphp-script .php .html