1. Mysql チュートリアル ドライバー mysqlnd
長い間、PHP チュートリアルは MySQL クライアントを通じて MySQL に接続してきましたが、現在 MySQL は MySQL クライアントの PHP バージョンを正式にリリースしており、この MySQLnd によりメモリ使用量が効果的に削減され、パフォーマンスが向上します。詳細については、以下を参照してください。
http://dev.mysql.com/downloads/connector/php-mysqlnd/
http://forge.mysql.com/wiki/PHP_MYSQLND
図からわかるように、mysqlnd を使用すると、mysql ドライバーから php 拡張機能にデータをコピーする手順が不要になります。 Mysqlnd はコピーオンライト、つまりコピーオンライトと読み取り参照を使用します。
mysqlnd は php5.3 のソース コードに組み込まれています。コンパイル時に、--with-mysql=mysqlnd、--with-mysqli=mysqlnd、および --with-pdo-mysql=mysqlnd を使用して mysqlnd ドライバーをインストールします。
mysqlndの利点
PHP のコンパイルはより便利で、libmysql は必要なく、すでにソース コードに組み込まれています。
- PHP のコンパイルがより便利になり、libmysql は必要なくなり、すでにソース コードに組み込まれています
- 著作権の問題を回避するにはphpライセンスを使用してください
- PHP メモリ管理を使用し、PHP メモリ制限 (memory_limit) をサポートします
- メモリ内にはすべてのデータのコピーが 1 つだけあります。以前の libmysql には 2 つのコピーがありました。上の図を参照してください
- ボトルネックの分析に役立つパフォーマンス統計機能を提供します
- mysqli は永続的な接続をサポートします
- パフォーマンスは明らかにlibmysqlより速いです
- ドライバー層にキャッシュメカニズムを追加
- md5() はおそらくパフォーマンスを 10% ~ 15% 向上させます
- エンジン内のスタック実装の改善、わかりません
- 定数はROMに保存されています(定数は読み取り専用メモリに移動されます)、ここの意味がわかりません
- 例外処理を改善し、オペコードをより簡潔にします
- include(require)_onceを繰り返し開く問題を解決しました。以前は静的変数を使用して一度実装していましたが、最終的にこの問題を解決しました
- gcc4 でコンパイルされたバイナリは小さくなります
- 全体的なパフォーマンスが 5%-15% 向上しました
4. ネームスペース
これは非常に優れた機能です。追加される前は、名前付け汚染を解決するためにプレフィックスが使用されていました (笑)。5. 遅延静的バインディング PHP の静的な性質はプリコンパイル中に修正されるため、継承時に親クラスの self はサブクラスではなく親クラスを参照すると推測されます。 PHP5.3 では、実行時に現在のクラスをキャプチャできる新しい構文 static が追加されています。 典型的な例はシングルトン モードです。
リーリー |
リーリー |
$date = strtotime("08-01-07 00:00:00");//php 认为格式 是年-月-日 <br>var_dump(date("Y-m-d", $date)); // string(10) "2008-01-07" <br>$date = date_create_from_format("m-d-y", "08-01-07");//告诉php格式是 月-日-年 <br>var_dump($date->format('Y-m-d')); // string(10) "2007-08-01" |
$lambda = function () { echo "Hello World!n"; }; |
function replace_spaces ($text) { <br>$replacement = function ($matches) { <br>return str_replace ($matches[1], ' ', ' ').' '; <br>}; <br>return preg_replace_callback ('/( +) /', $replacement, $text); <br>} |
function replace_spaces ($text) { <br>return preg_replace_callback ('/( +) /', <br>function ($matches) { <br>return str_replace ($matches[1], ' ', ' ').' '; <br>}, $text); <br>} |
function (normal parameters) use ($var1, $var2, &$refvar) {} |
$foo = ONE; |
$bar = |
php的GC机制采用引用计数机制,引用计数是很简单高效的GC机制,不过缺点也很明显,不能完全回收所有已无效的变量,例如变量相互引用了,就无法回收了,5.3里加入的GC函数,其实就是起到增强GC机制的作用。
gc_enable(); // 激活GC,增强GC机制,回收循环引用的无效变量 <br>var_dump(gc_collect_cycles()); // 强制回收已无效的变量 <br>gc_disable(); // 禁用GC |

負荷分散はセッション管理に影響しますが、セッションの複製、セッションの粘着性、集中セッションストレージで解決できます。 1。セッションレプリケーションサーバー間のセッションデータをコピーします。 2。セッションスティンネスは、ユーザーリクエストを同じサーバーに指示します。 3.集中セッションストレージは、Redisなどの独立したサーバーを使用してセッションデータを保存してデータ共有を確保します。

SESSIONLOCKINGISATECHNIQUESTOESUREAUSER'SSESSIONREMAINSEXCLUSIVETOONEUSATIME.ITISCRUCIALFORPREVENTINGDATACORTIONANDSECURITYBREACHESINMULTI-USERAPPLICATIONS.SESSIONLOCKINGISISIMPLEMENTEDUSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGROCKINGSMECHANISMなど

PHPセッションの代替品には、Cookie、トークンベースの認証、データベースベースのセッション、Redis/Memcachedが含まれます。 1.Cookiesは、クライアントにデータを保存することによりセッションを管理します。 2.トークンベースの認証はトークンを使用してユーザーを検証します。これは非常に安全ですが、追加のロジックが必要です。 3.Databaseベースのセッションは、データベースにデータを保存します。これは、スケーラビリティが良好ですが、パフォーマンスに影響を与える可能性があります。 4. Redis/Memcachedは分散キャッシュを使用してパフォーマンスとスケーラビリティを向上させますが、追加のマッチングが必要です

SessionHijackingとは、ユーザーのSessionIDを取得してユーザーになりすましている攻撃者を指します。予防方法には、次のものが含まれます。1)HTTPSを使用した通信の暗号化。 2)SessionIDのソースの検証。 3)安全なSessionID生成アルゴリズムの使用。 4)SessionIDを定期的に更新します。

この記事では、PHPについて説明し、その完全なフォーム、Web開発での主要な使用、PythonとJavaとの比較、および初心者の学習のしやすさについて説明します。

PHPは、$ \ _ postおよび$ \ _を使用してフォームデータを処理し、検証、消毒、安全なデータベースインタラクションを通じてセキュリティを確保します。

この記事では、PHPとASP.NETを比較して、大規模なWebアプリケーション、パフォーマンスの違い、セキュリティ機能への適合性に焦点を当てています。どちらも大規模なプロジェクトでは実行可能ですが、PHPはオープンソースであり、プラットフォームに依存しませんが、ASP.NET、

PHPの症例感度は変化します:関数は鈍感であり、変数とクラスは感度があります。ベストプラクティスには、一貫した命名と、比較のためにケース非感受性関数を使用することが含まれます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

WebStorm Mac版
便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









