はじめに:
単純な ini ファイルでのユーザー定義定数の定義を許可し、その後、通常のパフォーマンス上のペナルティを
することなく、内部定数のように処理されます。
単純な ini ファイルでのユーザー定義定数の定義を許可し、その後、内部定数のように処理されます
通常のパフォーマンス上のペナルティはありません。
同様で、Define を使用してもパフォーマンスの問題はありません。
作者は、Apacheが子の生成を開始する前に、Hidefがphpモジュールのinitで初期化されると述べています。
Apacheが起動する前に、これらの定数はPHPの起動時に作成され初期化されるため、phpで定数を定義する必要はなく、問題はありません。パフォーマンスでわかりました!
Nginx でも利用できます。インストールプロセスは次のとおりです:
1. ディレクトリにダウンロードして解凍します
# wget http://pecl.php.net/get/hidef-0.1.8.tgz
# tar zxvf hidef- 0.1.8.tgz
# cd hidef-0.1.8
2 設定ファイルはありません。phpize を実行してファイルを作成します
# /usr/local/webserver/php/bin/phpize
# ./configure --enable- hidef --with-php-config=/usr/local/webserver/php/bin/php-config
# make
# make install
3. php.ini ファイルに追加します
# vi /usr/local/webserver/php/etc/php.ini
---------------------------- -------------- --------
extension=hidef.so
hidef.ini_path=/usr/local/webserver/php/etc/
----- ------------------------ -------------------------------------------- ------------- ---------
php.ini ファイルで Hidef.ini_path が定義されていない場合、デフォルトの .ini ファイルの読み取り場所は /hidef であることに注意してください。ファイル vi /hidef/hidef.ini を手動で作成するだけで済みます。
# vi /usr/local/webserver/php/etc/hidef.ini (ここのパスは状況に応じて調整してください)
コードをコピーします コードは次のとおりです。 HX = "9enjoy" ;
float PIE = 3.14159;
ここでは、整数には int が使用され、浮動小数点数には float が使用され、文字列には str が使用されます。
文字列 str の値は二重引用符で囲まれるか、文字列の内容が直接書き込まれます。一重引用符が使用されている場合、一重引用符は文字列の内容としても使用されます。
例えば str HX='9enjoy' の場合、実際に格納されるのは 9enjoy ではなく '9enjoy' です。
4. php-fpmのリロード
# /usr/local/webserver/php/sbin/php-fpm reload
このとき、phpinfo()の結果を確認すると、hidef変数の定義が確認できます。
---------------------------------------------- --- ----------------------------------
添付ファイル:
APC を使用する場合、apc は以下を提供します定数を定義するメソッド。 apc_define_constants と apc_load_constants。 apc_define_constants は定数を配列に変換し、ユーザー キャッシュに保存します。定数はメモリに保存されますが、PHP が要求するたびにキャッシュを読み取って個別に定義する必要があるため、明らかなパフォーマンスの向上はありません。 25 個の定数を定義してテストしたところ、apc 関数を使用した方が定数を直接定義するよりも 0.01 ミリ秒速くなりました。
次のように使用します:
if(!apc_load_constants('define')) {
_constants('define', $constants);
}
define() は遅いことで有名です。スクリプト/アプリケーションのパフォーマンスを向上させるために、このメカニズムは質量定数定義のプロセスを合理化するために提供されています。ただし、この関数は期待どおりにパフォーマンスを向上させません。
よりパフォーマンスの高いソリューションを得るには、PECL の Hidef 拡張機能を試してください。