ホームページ >バックエンド開発 >PHPチュートリアル >[ハイライト] PHP 拡張機能 [xhprof、eaccelerator]

[ハイライト] PHP 拡張機能 [xhprof、eaccelerator]

WBOY
WBOYオリジナル
2016-06-13 13:22:26823ブラウズ

【概要】PHP拡張機能【xhprof、eaccelerator】

環境

1.PHP 5.3.8、fastcgi を使用してインストール、インストール ディレクトリ /usr/local/php

2.CentOS 5.5

?

xhprof

xhprof.so を生成

#unzip -o xhprof-0.9.2.zip
#cd xhprof-0.9.2
#cd xhprof-0.9.2/xhprof-0.9.2/extension/
#/usr/local/php/bin/phpize
#./configure --with-php-config=/usr/local/php/bin/php-config
#make
#make install

生成された xhprof.so を php の extension_dir 配下に置き、php.ini を設定したら、php を再起動します。

// 放入php的extension_dir目录下
...

// 配置php.ini
#vi /usr/local/php/lib/php.ini
---
[xhprof]
extension="xhprof.so";
xhprof.output_dir="/var/cache/xhprof"
---

// 重启php
#pkill -o php-fpm
#/usr/local/php/sbin/php-fpm

// 查看phpinfo,检查xhprof是否安装成功
...?

xhprof_lib、xhprof_html を Web サイトのディレクトリに移動します

...

PHP コードを記述し、xhprof モジュールを使用します

<?php

// 开启xhprof
if(function_exists('xhprof_enable')) { 
    xhprof_enable(); 
}

// 你的php代码

// 生成报告
if(function_exists('xhprof_disable')) {
    $xhprof_data = xhprof_disable();
    include_once "xhprof_lib/utils/xhprof_lib.php";
    include_once "xhprof_lib/utils/xhprof_runs.php";

    $xhprof_runs = new XHProfRuns_Default();
    $identifier = rand(0,9999);
    $run_id = $xhprof_runs->save_run($xhprof_data, $identifier);

    echo "<a target=\"_blank\" href=\"xhprof_html/index.php?run={$run_id}&source={$identifier}\">view xhprof </a>";
}
?

イーアクセラレーター

eaccelerator.so を生成

#tar -zxvf eaccelerator-0.9.6.1.zip
#cd eaccelerator-0.9.6.1
#/usr/local/php/bin/phpize
#./configure --with-php-config=/usr/local/php/bin/php-config
#make
#make install
?

生成された eaccelerator.so を php の extension_dir 配下に置き、php.ini を設定したら、php を再起動します。

// 放入php的extension_dir目录下  
...  
  
// 配置php.ini  
#vi /usr/local/php/lib/php.ini  
---  
[eaccelerator]
extension="eaccelerator.so"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/tmp"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_period="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
eaccelerator.keys = "disk_only"
eaccelerator.sessions = "disk_only"
eaccelerator.content = "disk_only"
---  
  
// 重启php  
#pkill -o php-fpm
#/usr/local/php/sbin/php-fpm
  
// 查看phpinfo,检查eaccelerator是否安装成功
...

?

eaccelerator の詳細な設定手順

[これは転載です。転載アドレスは http://www.21andy.com/blog/20100207/1646.html です。

---

eaccelerator.shm_size="32"
eAccelerator が使用できる共有メモリの量 (メガバイト単位) は、オペレーティング システムのデフォルト値を指します。デフォルト値は、サーバーの実際の状況に応じて調整できます。 32、64、128は全て可能です。

eaccelerator.cache_dir="/home/php/tmp"
このディレクトリはディスク キャッシュに使用されます。eAccelerator は、プリコンパイルされたコード、プロセス データ、コンテンツ、およびユーザー定義のコンテンツをここに保存します (これにより、アクセス速度が向上します)。デフォルトの設定は「/tmp/eaccelerator」です。 "。

eaccelerator.enable="1"
eAccelerator をオンまたはオフにします。 「1」はオン、「0」はオフです。デフォルト値は「1」です。

eaccelerator.optimizer="1"
内部オプティマイザをオンまたはオフにすると、コードの実行速度が向上します。 「1」はオン、「0」はオフです。デフォルト値は「1」です。

eaccelerator.check_mtime="1"
PHP のファイル変更チェックをオンまたはオフにします。「1」はオンを意味し、「0」はオフを意味します。変更後に PHP ファイルを再コンパイルする場合は、これを「1」に設定する必要があります。

eaccelerator.debug="0" デバッグログをオンまたはオフにします。 「1」はオン、「0」はオフです。デフォルト値は「0」です。キャッシュ ヒットの記録はログに書き込まれます。

eaccelerator.filter="" どの PHP ファイルをキャッシュする必要があるかを決定します。キャッシュされたファイルタイプとキャッシュ不可能なファイルタイプ (「*.php *.phtml」など) を指定できます
パラメータが「!」で始まる場合、これらのパラメータに一致するファイルはキャッシュから無視されます。デフォルト値は「」です。つまり、すべての PHP ファイルがキャッシュされます。

eaccelerator.shm_max="0" 「 eaccelerator_put() 」関数の使用時に、過度に大きなファイルが共有メモリに保存されるのを無効にします。このパラメータは、ストレージに許可される最大値をバイト単位で指定します (10240、10K、1M)。 「0」は制限なしを意味します。デフォルト値は「0」です。

eaccelerator.shm_ttl="0" eAccelerator が新しいスクリプトの共有メモリ サイズの取得に失敗すると、最後の "shm_ttl" 秒間にアクセスされなかったすべてのスクリプト キャッシュが共有メモリから削除されます。デフォルト値は「0」です。これは、キャッシュされたファイルが共有から削除されないことを意味します。

eaccelerator.shm_prune_period="0" eAccelerator が新しいスクリプトの共有メモリ サイズの取得に失敗すると、「shm_prune_period」秒より古いキャッシュされたスクリプトを共有メモリから削除しようとします。デフォルト値は「0」です。これは、キャッシュされたファイルが共有から削除されないことを意味します。

eaccelerator.shm_only="0" コンパイルされたスクリプトのディスクへのキャッシュを許可または無効にします。このオプションは、セッション データとコンテンツ キャッシュには影響しません。デフォルト値は「0」です。これは、キャッシュにディスクと共有メモリを使用することを意味します。

eaccelerator.compress="1" 圧縮コンテンツのキャッシュを許可または無効にします。デフォルト値は「1」で、圧縮が許可されることを意味します。

eaccelerator.compress_level="9" コンテンツキャッシュの圧縮レベルを指定します。デフォルト値は最高レベルの「9」です。

eaccelerator.keys = "disk_only"
eaccelerator.session = "disk_only"
eaccelerator.content = "disk_only" コンテンツ キャッシュの保存場所を設定します。次のように設定できます:

shm_and_disk 共有キャッシュとハードドライブ上 (デフォルト)
shm 共有メモリはデフォルトで存在します。共有メモリがいっぱいであるか、サイズが "eaccelerator.shm_max" の値を超える場合、ハードディスク
shm_only に保存されます。 共有メモリ
disk_only にのみ保存されます ハードディスクにのみ保存
なし データをキャッシュしない

eaccelerator.allowed_admin_path = "/var/www/html/21andy.com/eaccelerator" これはコントロールパネルのアドレスです
インストール パッケージには control.php があり、これを Web サイト上の任意のディレクトリにコピーして表示および管理に使用できます。これを指定しないと、キャッシュされたコンテンツを表示するときにエラーが発生します。
---

?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。