ホームページ >バックエンド開発 >PHPチュートリアル >PHP NEWBIE で注意が必要な関連する問題

PHP NEWBIE で注意が必要な関連する問題

WBOY
WBOYオリジナル
2016-06-13 13:35:16969ブラウズ

PHP 初心者で注意する必要があるいくつかの問題
質問 1: 変数転送の問題

この質問はおそらく誰もが目にする最も一般的な質問です。「なぜ変数は使用できないのか」という質問が常にあります。 PHP をインストールした後に使用されますか? ページ間で渡されますか?

PHP4.2 以降、PHP.INI の register_globals 設定が Off に変更され、4.2 以前のバージョンでは実行できた一部のプログラムが実行できなくなりました。

なぜこのようにするかというと、register_globals を On に設定すると、PHP 自体にセキュリティ上のリスクが生じるためです。プログラムの設計が厳密でない場合、ページ間で渡される変数を他の人が特定の手段で取得することができます (ひどい問題です)。解決策は 2 つあります。1 つは、PHP.INI の register_globals を On にリセットすることです (そうしませんか?)。もう 1 つは、ページ間で変数を渡すときに PHP によって用意されたグローバル変数セットを使用することです。以下のように:

$_POST['varname'];//post メソッドを通じて送信された変数は、主にフォームの送信 (

) に使用されます。

$_GET['varname'];//get メソッドを通じて送信された変数は () からの送信に使用でき、またページ パラメーター (http:/) を取得するためにも使用できます。 /test.php?a=ok)。

$_COOKIE['varname'];

$_SESSION['varname']; // セッションと cookie に保存された変数を取得するために使用されます。

実際、上記の変数名は別の形式で書くことができます: $HTTP_*_VARS['varname']、つまり $HTTP_POST_VARS['varname'], $HTTP_GET_VARS['varname'], $ HTTP_COOKIE_VARS[ 'varname'], $HTTP_SESSION_VARS['varname'] ですが、このように書くのは安全ではないようなので、皆さんは最初に述べた書きやすく安全な方法を使用してください。



質問 2: SESSION 設定について

警告: open(tmpsess_a18eaa908774d353293cf91777599c9​​0, O_RDWR) が失敗しました: 行 0 の不明なファイルまたはディレクトリ (2) はありません

プログラムで SESSION が使用されている場合、友人の中には次の質問をする人もいます。SESSION が使用されているページに上記のような警告が表示されるのはなぜですか?

この状況は WINDOWS システムでのみ発生します。これは、PHP.INI では、SESSION のデフォルトの保存パスが session.save_path='tmp' であり、実際には *nix パスの書き込み方法であり、WINDOWS ではそのようなパスが存在しないためです。そのため、PHP は SESSION を保存する場所を見つけることができず、当然警告が発行されます。解決策は、「tmp」を WINDOWS システムに存在するディレクトリのアドレスに置き換えることです。

もう 1 つの問題は、SESSION を使用する場合、現在のページの SESSION 変数を取得したい場合は、プログラムの先頭に session_start() を追加する必要があり、その前に出力が存在しないことです。つまり、1行目に session_start() を書くのがベストです。



質問 3: ページの最大実行時間について

大きなファイルをアップロードしたり、データベースから大量のデータを読み込んだりすると、ページの実行時間が変化する可能性があります。非常に長いです。 PHP.INI のページ実行時間の最大制限は、デフォルトで max_execution_time=30 に設定されています。これは、プログラムの実行が 30 秒間終了しない場合、プログラムは自動的に応答を停止することを意味します。したがって、実行するプログラムに時間がかかる場合は、max_execution_time=300 以上に変更して、プログラムが正常に実行されるようにすることができます。ファイルをアップロードする場合は、次の設定にも注意する必要があります。

upload_max_filesize=2M //アップロードされるファイルの最大容量

post_max_size=2M // post method

memory_limit=8M //各ページの実行時に消費される最大メモリ





----------- -- ----------------

一般的なプログラム設定 max_execution_time=30 で十分です。

この時間を超えると、ほとんどが無限ループになります。


-----解決策---------

ディスカッション

MVP とは何ですか?珍しいです

------解決策---------
話し合う

引用:

MVP とは何ですか?珍しい
Microsoft MVP (Most Valuable Professional) の紹介
Microsoft Most Valuable Professional (MVP) とは、1 つ以上の Microsoft テクノロジの専門知識を持ち、オンラインまたはオフラインのコミュニティ活動に積極的に参加し、定期的に情報を共有する専門家を指します。知識や専門知識を他の専門家と共有し、尊敬され、信頼され、親しみやすい存在となります。
実生活では、人々は常に専門家のアドバイスやフィードバックを信頼します。 Microsoft MVP は、まさに豊富な知識と実践経験を持つ Microsoft 技術専門家のグループです。彼らはマイクロソフトの従業員ではありません...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。