PHP の導入 – Linux で自宅サーバ [ Home Server Technical. ]
上記の例に従って、テスト用ファイルを作成したがエラー発生。phpのインストールというよりapatcheの環境設定に問題がありそう。httpd.confかhtaccessあたりを見直した上で動作テストが必要。
この際だから、パッケージの再確認とセキュリティアップデートの有無もチェックしておくほうがいいかもしれない。phpは外部から実行されるプログラムだけに、クラッキングされたときに致命的になりそうだから。
httpd.confの追加設定
・以下4行を追加
<IfModule mod_php4.c>
AddType application/x-httpd-php .php4 .php3 .phtml .php
AddType application/x-httpd-php-source .phps
</IfModule>
・.cgiを追加
AddHandler cgi-script .cgi .php
テスト用ファイル
1.
<?php
phpinfo();
?>
2.
<html>
<head><title>PHP Test</title>
</head>
<body>
<?php echo “Hello World”; ?>
</body>
</html>
上記を保存し、パーミッションを777に設定(悩みたくなかったので)。ブラウザでアクセスするとInternal erro。コマンドラインでもエラーが表示されるだけ。
理由がわからないままに
http://www.dream-seed.com/linux/php.html
を読んでいたら、
CGI版のPHPは「/usr/local/bin/」にインストールされているので、CGIを書くときは、最初の一行に
#!/usr/local/bin/php
と記入します。
とある。俺の環境ではphpは /usr/bin/php にあるので、上記のパスを修正しテスト用ファイルに挿入。テスト用ファイル1をコンソールで実行したらhtmlが表示された。ところが、ブラウザでアクセスすると違う雰囲気の画面。しかも、1でも2でも同じメッセージ。「Security Alert! The PHP CGI cannot be accessed directly.」・・・
再度、コンソールから出力されたファイルをhtmlとして保存しブラウザで読み込んだらバージョン情報が表示された。少なくとも、phpは使える状態でインストールされているようだ。
ただ、ここで得られたステータスは詳細で、俺にはほとんど初めての言葉ばかりだったが、php.iniの所在がわかったのは大きな収穫だった。俺のディストリビューション(TL8w)では /etc/httpd/php.ini にあるそうな。どこかのサイトにphp.ini の設定を説明してあった。
しかし、php.iniの設定がわからない・・・・