委員会概要 各種申請 サービス サポート リンク
マニュアル BBS FAQ 管理者各位 リサーチ

PHP


 
目次

Last Modified 2004/01/01


  1. はじめに
  2. PHP設置手順
  3. PHPの実装に関して
  4. 参考URL
 
 
1.はじめに

PHP(PHP:Hypertext Preprocessor)』はサーバー側で実行されるスクリプト言語の一種です。HTML文内にPHPコードが書け、容易に作成・メンテナンスをする事ができます。また、データベースとの親和性の高さから、様々なサイトで普及しています。それに加え、perlで書かれたCGIなどと比べ高速で動作するという利点があります。

目次へ戻る
 
 
2.PHP設置手順

ファイルを設置する場合は拡張子をphp(***.php)にしてください。

ファイルのパーミッションは644(-rw-r--r--)など、その他のユーザー(other)に読み込み権がある状態で動作します。ただし、動的に更新するファイル(掲示板のデータファイルなど)は 646(-rw-r--rw-)など、その他のユーザー(other)に書き込み権がなければいけません。

また、動的にファイルを生成するような場合は、生成されるディレクトリに757(-rwxr-xrwx)などその他のユーザ(other)に書き込み権がなければいけません。

注意:団体Webページの場合はWeb管理マニュアルのCGIグループとパーミッションを設定する、と同様です。

目次へ戻る
 
 
3.PHPの実装に関して

現在、サークル棟内のWebサーバーはPHPをセーフモードの下で動作させています。これに伴いいくつかの関数が制限を受けることになりますのでご注意ください。

制限を受ける関数

関数 制限
dbmopen() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
dbase_open() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
filepro() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
filepro_rowcount() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
filepro_retrieve() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
pg_loimport() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
posix_mkfifo() 処理を行うディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
putenv() 環境変数LD_LIBRARY_PATHを設定できません。また、設定可能な環境変数はPHP_で始まる物に限定されます。
move_uploaded_file() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
chdir() 処理を行うディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
dl() この関数は、セーフモードでは無効となります。
backtick operator この関数は、セーフモードでは無効となります。
shell_exec() この関数は、セーフモードでは無効となります。
exec() この関数は、利用できません。
system() この関数は、利用できません。
passthru() この関数は、利用できません。
popen() この関数は、利用できません。
mkdir() 処理を行うディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
rmdir() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
rename() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
unlink() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
copy() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。 (sourceおよびtargetにおいて)
chgrp() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
chown() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
chmod() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。 加えて、セットユーザID, セットグループID, スティキービットを設定することはできません
touch() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
symlink() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。 (注意: ターゲットのみが確認されます)
link() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。 (注意: ターゲットのみが確認されます)
getallheaders() セーフモードでは、'authorization'で始まるヘッダ(大文字小文字は 区別されません)は返されません。
header() セーフモードでは、WWW-Authenticate(HTTP認証)ヘッダをセットする場合にrealmパートにスクリプトの所有者がセットされます。
PHP_AUTH variables セーフモードでは、PHP_AUTH_USER, PHP_AUTH_PW, AUTH_TYPEは $_SERVERに含まれません。 しかし、USERにREMOTE_USERを使うことは可能です。
highlight_file(), show_source() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。
parse_ini_file() 処理を行うファイル/ディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。 処理を行うディレクトリが実行するスクリプトと同じ所有者であるかどうかを確認します。

※なお、団体Webページにおいては、これらの「同じ所有者であるかどうか」の確認は
すべて「同じグループであるかどうか」の確認に置き換わりますのでご注意ください。

目次へ戻る
 
 
4.参考URL

PHPを用いてプログラムを作成する際は以下のURLを参考にしてください。

PHPマニュアル(日本PHPユーザ会)
PHP Dream
Let's PHP内のチュートリアル

目次へ戻る
 

Topへ戻る


(C) 2004 九州工業大学 学生自治ネットワーク委員会
K.I.T. Student Administered Network Commission