最新情報
- 01月31日・・・get_class_vars, get_object_vars
- 01月12日・・・DateTime クラス
- 11月06日・・・Smarty
- 10月29日・・・イテレータ
- 10月15日・・・bindParam と bindValue
memory limit
PHP で利用可能なメモリサイズは、php.ini で設定できます。メモリ不足に陥ると、
Fatal error: Allowed memory size of 8388608 bytes exhausted
というようなメッセージが表示されます。(8388608 の部分は環境により異なります。) WordPress や XOOPS 等の CMS で、大量のデータを扱う場合や、プラグインをたくさん導入する場合は、上記エラーが出やすいです。このメッセージが表示されたら、メモリ制限を大きくすると良いでしょう。
memory_limit = 32M
タグ
2009年04月06日 | コメント&トラックバック(0) | トラックバックURL |
カテゴリ: php.ini
403 Forbidden
アクセスが禁止されているページを閲覧しようとすると、403 Forbidden. You don’t have permission to access this page. といったメッセージが表示されます。
IP帯域でアクセス制限されていることが多いです (例えば、社内ネットワークからのみ閲覧可能など)。掲示板などで荒らし対策として特定のプロバイダのみ禁止されていることもあります (荒らしが同じプロバイダ利用者だった場合、巻き添えをくらう可能性もあります)。
403 の場合も、特定のページに誘導することが可能です。以下のように.htaccessの設定をします。(forbidden.html の部分は適当な名前に変更)
ErrorDocument 403 forbidden.html
タグ
2009年03月09日 | コメント&トラックバック(0) | トラックバックURL |
カテゴリ: エラーレスポンス
inetdサーバ
当サイトが使用しているレンタルサーバーは、inetd (有限会社アイネットディー) です。(サーバーデーモンに同名のものがあるため、ややこしいですね)
激安プランは、ディスク容量 500M、MYSQL 200M となっています。当サイトが契約している Light プランは、容量 5G、MYSQL 500M となっています。さらに Power プラン、Biz プランが用意されています。
PHP は CGI モードで動作します。SSH 利用可、php.ini の編集可なので、カスタマイズしたい人には良いでしょう。
2009年02月21日 | コメント&トラックバック(0) | トラックバックURL |
カテゴリ: サーバー
ファイルアップロード
ユーザーがファイルをアップロードすることを許可するかどうかの設定を php.ini で行うことができます。
アップロードを許可するには、php.ini で以下のように記述します。(通常は file_uploads = On になっていると思います)
file_uploads = On
アップロードするファイルの最大値も設定可能です。(通常は upload_max_filesize = 2M になっていると思います)
upload_max_filesize = 8M
post_max_size = 8M
memory_limit = 64M
大きいファイルをアップロードする場合は、あらかじめ設定しておく必要があります。POSTデータのサイズやスクリプトのメモリ使用量も、アップロードしたいファイルのサイズより大きくする必要があります。なお WordPress のデータインポートの最大サイズ制限は、この値を元にしているようなので、大きなサイトをサーバー移転するときは注意しましょう。
なお、アップロードができない場合、最大サイズ制限に引っかかる場合だけでなく、サーバー上のスクリプトタイムアウト (max_execution_time で設定)、ユーザー側でタイムアウトやセキュリティソフトの制限、等の可能性も考えられます。
タグ
2009年02月19日 | コメント&トラックバック(0) | トラックバックURL |
カテゴリ: php.ini
404 Not Found
エンドユーザーがリクエストしたファイルが存在しなかったとき、ウェブサーバーが返すエラーメッセージが、「404 Not Found」です。
URL直接入力の打ち間違い(ユーザーのミス)、リンクの記述間違い(サイト運営者のミス、または他のサイト運営者のミス)の可能性があります。エラーが多発する場合は、後者の可能性が高いので、ログ等で確認して、必要なら修正するようにしてください。
404エラー発生時に、特定のページに誘導することが可能です。以下のように.htaccessの設定をします。(notfound.html の部分は適当な名前に変更)
ErrorDocument 404 notfound.html
タグ
2009年02月16日 | コメント&トラックバック(0) | トラックバックURL |
カテゴリ: エラーレスポンス
WARNING error
実行時に生じたエラーのうち、致命的ではないものがWARNINGになります。NOTICEよりは重い警告ですが、ERRORよりは軽いです。WARNINGエラーは、スクリプト実行が続けられるため、エラーと気づきにくいことがあります。
主なWARNINGには、以下のようなものがあります。
- Missing argument: 関数の引数が不足しています。一見正常に動作しているように見えても、期待した挙動では無い可能性があります。
- Unexpected character in input: 入力に想定外の文字が混入しています。文字コードが正しく設定されていないために起こることがあります。シフトJISだと一部の文字で2バイト目が制御コードと同じになるため、このエラーが出ることがあります。
- Cannot modify header information: ヘッダー情報を設定できなかったときに表示されます。header関数は<head>タグの前に記述してください。スクリプト先頭の空行があるとこのエラーが出ることがあります。
タグ
2009年02月16日 | コメント&トラックバック(0) | トラックバックURL |
カテゴリ: PHP
PARSE error
スクリプトをパースする時(構文解析時)に発生したものが PARSE ERROR になります。重大なエラーとみなされ、スクリプト実行が中断されます。主な PARSE には、以下のようなものがあります。
- syntax error: 構文に誤りがあります。括弧の不一致、末尾のセミコロン忘れ等が原因のことが多いです。XML を扱う場合、XML タグがショートオープンタグとして認識されている可能性があります。(この場合は、php.ini で short_open_tag = Offに設定してください。)
この他、PHP のバージョンが古い等の理由で、うまく解釈できなかった場合も、PARSE error になることがあります。(unexpected T_STRING、undefined XXX のような表記になるようです。) PHP のバージョンを確認するようにしましょう。
タグ
2009年02月16日 | コメント&トラックバック(0) | トラックバックURL |
カテゴリ: エラーメッセージ
NOTICE error
スクリプト実行には影響しなかったが、潜在的にエラーの可能性がある状況で発行されるのが、NOTICEです。
主なNOTICEエラーは、以下のようなものがあります。
- Notice: Use of undefined constant 未定義の定数を使用
- Notice: Undefined variable 未定義の変数を使用
- Notice: Undefined Index 未定義の配列を使用
- Notice: Undefined offset 戻り値の個数が合わない
タグ
2009年02月16日 | コメント&トラックバック(0) | トラックバックURL |
カテゴリ: エラーメッセージ
エックスサーバー
エックスサーバーは株式会社ベット運営のホスティング会社です。
マルチドメイン無制限なので、複数サイト運営には非常に便利です。PHP5(CGIモード)、MYSQL対応なのでWordPressも利用可能です。WP自動アップグレード対応。アクセス解析もX Analyser と AWstats が用意されており、管理画面からワンクリックでセットアップ可能です。SSH利用はできませんが、cronデーモンは利用可能です。
申し込みは[nobr]からどうぞ。
※PHP5を利用するには、管理画面からPHPの設定を行う必要があるようです。
タグ
2009年01月23日 | コメント&トラックバック(0) | トラックバックURL |
カテゴリ: サーバー
allow_url_fopen
リモートファイル(別サーバー上のファイル)を読み込んで処理することを許可するかどうかを設定します。RSS取得プラグイン(ショートコード)などで外部RSS取得する場合には、この設定が有効になっている必要があります。
デフォルトはon(有効)となっていますが、リモートファイル読み込みを行う必要が無い場合は、offにすることをお勧めします。
関連オプションに、allow_url_include があります。allow_url_include は、リモートファイルをPHPスクリプトとして実行することを許可するかどうかを設定します。デフォルトはoffです。
allow_url_include をonにするのはセキュリティリスクが高いので避けましょう。
※PHP4では、allow_url_fopen のみが存在します。allow_url_fopen が on の時、スクリプトとしての読み込みも許可されます。
2009年01月16日 | コメント&トラックバック(0) | トラックバックURL |
カテゴリ: php.ini