eaccelerator+PHP54 により、smarty 更新テンプレート 500 エラーが発生する
問題の背景
game.37.comビジネスのsmartyテンプレートを更新した後、複数の500エラーレコードがサーバーに表示されました。 PHP エラー ログに報告されたエラーは次のとおりです:
[2016 年 5 月 16 日 15:46:01 Asia/Shanghai] PHP 致命的エラー: /*/template_c の未定義関数 content_57397470478e99_59376883() の呼び出し/6aede77242b 285842c628673e93d8bf1bd4bc6b0.file .server_list.htm.php on line 67
現象:テンプレート更新後、初回アクセス時に500エラーが報告されますが、再び通常のアクセスが発生します。
トラブルシューティング
smartyを通常に使用した経験によれば、テンプレートを更新した後、PHPが500エラーを報告することはありません。そのため、サーバーの環境問題である可能性が推測され、トラブルシューティング用に特別な構成環境がリストされています。
プレリリース環境では、アクセラレータeAcceleratorを優先して確認してください。 eAcceleratorアクセラレータはPHPのopcodeをキャッシュするため、この問題が発生する可能性があります。
テスト環境でテストするデバッグページ: http://game.37.com/server_list_275.html
デバッグテンプレート: main.htm
生成されたsmartyコンパイルされたファイル: /*/template_c/6aede77242b285 842c628 673e93d8bf1bd4bc6b0.ファイル.server_list.htm.php
smartyのコンパイル済みファイル
を確認してください。更新されたsmartyテンプレート後に編集されたファイル2を比較し、PHPその理由は、エラーは、テンプレート内の古い関数を呼び出すことです。
PHP例外エラーメッセージPHPの致命的なエラー: /*/template_c/6aede77242b285842c628673e93d8bf1bd4bc6b0.ht内の未定義関数content_573a944d7a2608_39051073()の呼び出し。 m.php 67 行目
smarty動作原理図:

問題は、
smartyテンプレートの更新にあります。smartyは新しいコンパイル済みファイルを生成しますが、古いファイルの内容は依然としてアクセラレータによってキャッシュされており、これには、テンプレートファイル。アクセラレータのヒット ログを開くと、関連するレコードを表示できます:
filterパラメータ、smartyのコンパイルされたファイルはキャッシュされませんeaccelerator.filter= "! /*/template_c/*.php"
ただし、パフォーマンスへの影響を評価する必要があります
APC理由: 現在使用されている eaccelerator は
1.0-dev バージョンです。正式にリリースされたバージョンではありません。 APCは公式ソースからのものであり、安定版バージョンにダウンロードできます。
上記では、eaccelerator+PHP54 によって発生する Smarty 更新テンプレートによって報告される 500 エラーについて、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

phpssionscanStorestrings、numbers、arrays、andobjects.1.strings:textdatalikeusernames.2.numbers:integersorfloatsforcounters.3.arrays:listslikeshoppingcarts.4.objects:complextructuresthataresialized。

tostartaphpsession、outsession_start()atthescript'sbeginning.1)placeitbe foreanyouttosetthesscookie.2)usesionsionsionsionserdatalikelogintatussorshoppingcarts.3)再生セッションインドストップレベントフィックスアタック

セッション再生とは、新しいセッションIDを生成し、セッション固定攻撃の場合にユーザーが機密操作を実行するときに古いIDを無効にすることを指します。実装の手順には次のものが含まれます。1。感度操作を検出、2。新しいセッションIDを生成する、3。古いセッションIDを破壊し、4。ユーザー側のセッション情報を更新します。

PHPセッションは、アプリケーションのパフォーマンスに大きな影響を与えます。最適化方法には以下が含まれます。1。データベースを使用してセッションデータを保存して応答速度を向上させます。 2。セッションデータの使用を削減し、必要な情報のみを保存します。 3.非ブロッキングセッションプロセッサを使用して、同時実行機能を改善します。 4.セッションの有効期限を調整して、ユーザーエクスペリエンスとサーバーの負担のバランスを取ります。 5.永続的なセッションを使用して、データの読み取り時間と書き込み時間を減らします。

phpsesionsareserver-side、whilecookiesareclient-side.1)Sessionsionsionsoredataontheserver、aremoresecure.2)cookiesstoredataontheclient、cookiestoresecure、andlimitedinsizeisize.sesionsionsionivationivationivationivationivationivationivationivate

phpidentifiesauser'ssessionsingsinssessionCookiesIds.1)whensession_start()iscalled、phpgeneratesauniquesidstoredsored incoookienadphpsessidontheuser'sbrowser.2)thisidallowsphptortorieSessiondatadata fromthata

PHPセッションのセキュリティは、次の測定を通じて達成できます。1。session_regenerate_id()を使用して、ユーザーがログインまたは重要な操作である場合にセッションIDを再生します。 2. HTTPSプロトコルを介して送信セッションIDを暗号化します。 3。Session_Save_Path()を使用して、セッションデータを保存し、権限を正しく設定するためのSecure Directoryを指定します。

phpsessionFilesToredInthededirectoryspecifiedBysession.save_path、通常/tmponunix-likesystemsorc:\ windows \ temponwindows.tocustomizethis:1)uesession_save_path()tosetaCustomdirectory、ensuringit'swritadistradistradistradistradistra


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ホットトピック









