چه ميكنه اين PHP.JET !!!!

شروع موضوع توسط ....P30.... ‏22 می 2004 در انجمن PHP

  1. ....P30....

    ....P30.... کاربر تازه وارد

    تاریخ عضویت:
    ‏27 جولای 2003
    نوشته ها:
    1,140
    تشکر شده:
    9
    محل سکونت:
    World Wide Web 8-)
    آقا چه ميكنه اين PHP.JET :blink:

    بعد از اضافه كردن اين كد به اول فايل Index.php ميبينيد كه به طرز محسوسي سرعت بالا اومدن سايت زياد ميشه :)

    در ضمن از اينجا ميتونيد ببينيد كه حجم خروجي صفحه اول سايت من بعد افزودن اين كد چقدر كمتر شده :D

    http://www.pipeboost.com/GetReport.asp?URL=http://irdown.com

    توضيحات بيشتر رو در مورد اين كد ميتونيد در سايت آقا نيما بخونيد


    http://phpmystery.com

    راستي تا يادم نرفته اينم خود كد :

    PHP:
    ob_start'ob_gzhandler' );
     
  2. خرید بک لینکبازدیدیار - افزایش بازدید سایت و سیگنال های برند
  3. ehsan

    ehsan Administrator

    تاریخ عضویت:
    ‏5 دسامبر 2002
    نوشته ها:
    7,924
    تشکر شده:
    3,613
    محل سکونت:
    Internet
  4. ....P30....

    ....P30.... کاربر تازه وارد

    تاریخ عضویت:
    ‏27 جولای 2003
    نوشته ها:
    1,140
    تشکر شده:
    9
    محل سکونت:
    World Wide Web 8-)
    احسان جان پيشنهاد ميكنم از اين كد براي صفحات فروم استفاده كني
    خيلي كارش عاليه
     
  5. siavash79

    siavash79 کاربر تازه وارد

    تاریخ عضویت:
    ‏16 آپریل 2003
    نوشته ها:
    47
    تشکر شده:
    0
    كارش خوبه.... ولي بهتره با يك شرط همراه باشه... اول كنترل كنه كه اگر توي فرمت‌هاي Accept اجازه استفاده از gzip داده شده بود اين كار رو بكنه..... چون ممكنه بعضي از browser ها اين نوع خروجي رو نتونن تشخيص بدن
     
  6. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    اين PHPBB كه خروجيش اين طوري هست فكر كنم اين انجمن هم همين طوري باشه
     
  7. A-Parsa

    A-Parsa کاربر تازه وارد

    تاریخ عضویت:
    ‏10 می 2004
    نوشته ها:
    39
    تشکر شده:
    1
    به نقل از ايميل نيما جان :

    من روش بالا رو روي سايت خودم پياده كردم و بايد بگم واقعاَ تاثير چشمگيري داشت حتي از شيوه اول هم سرعت سايت بالاتر رفت :lol: بخصوص اينكه سطح فشرده سازي عدد 9 قرار داده شده ، احتياجي به تغيير در فايلهاي سايت نيست و بسيار آسونتر هست . از نيما جان ممنون و اميدوارم مفيد بوده باشه :happy:
     
  8. knowhow

    knowhow مدیران قدیمی

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    3,477
    تشکر شده:
    20
    فروم Gzip Enable است !
     
  9. Persia

    Persia Registered User

    تاریخ عضویت:
    ‏2 نوامبر 2003
    نوشته ها:
    637
    تشکر شده:
    7
    سلام.
    آقا چند تا سوال:
    1- اصول اين فشرده سازي چيه؟ يعني چطوري اطلاعات يه صفحه فشرده ميشه و در عين حال کامل باقي ميمونه؟
    2- فايل htaccess. فقط بايد تو Root ساخته بشه يا تو تمام فولدرهايي که فايل php در اونها وجود داره؟
    3- اگه اشتباه نکنم Gzip يه قابليتيه که روي سرور بايد فعال باشه. درسته؟

    ممنون
    :)
     
  10. Persia

    Persia Registered User

    تاریخ عضویت:
    ‏2 نوامبر 2003
    نوشته ها:
    637
    تشکر شده:
    7
    يه سوال ديگه هم دارم:
    من از ام تي استفاده مي کنم و اومدم اکستنشن تمام فايلهاي آرشيو و . . . رو php کردم که بتونم از دستورات php هم استفاده کنم. اما صفحات توسط Movable Type بصورت html توليد ميشه و استاتيکه. آيا در اين حالت هم استفاده از اين تکنيکها تإثيري داره؟
     
  11. littlerabbit

    littlerabbit مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏13 جولای 2003
    نوشته ها:
    667
    تشکر شده:
    5
    محل سکونت:
    Iran
    اصولا OutPut Buffering علاوه بر این یه مورد خاص میتونه خیلی وقتای دیگه هم مفید باشه. البته اینم بگم که فقط همین یه تابع کافی نیست و باید در آخر یک تابع دیگه هم فراخوانی بشه در مواقعی که شما فقط از یک پشته برای این کار استفاده میکنید نیازی به فراخواندن این تابع احساس نمیشه اما در حالتی که چند تا از این پشته ها استفاده بشه بافر بایداصطلاحا خالی بشه. برای اینکار در آخر Script از تابع ob_end_flush(); باید استفاده بشه. (یا در حالت عادی بهتره که استفاده بشه)

    یه مورد دیگه که میتونه OutPut Buffering مفید باشه کنترل خروجی است که به Browser میره. مثلا گاهی که از کوکی ها استفاده میکنیم و تابع SetCookie رو فراخوانی میکنیم اگه حتی یه بایت قبل از این تابع به Browser فرستاده شده باشه اونوقت تابع موفق نمیشه و یه هشدار میده. در این موارد باید حواسمون کاملا جمع باشه که اصلا هیچ چیزی رو قبل از این تابع به مرور گر نفرستیم (یعنی از دستوراتی مثل echo استفاده نکنیم یا اینکه هیچ کد Html رو قبل از این تابع نگذاریم ) که گاهی مشکله و ممکنه اشتباهی از دست آدم در بره!!! یه راه رهایی از این مشکل اینه که اول بافرینگ رو فعال کنیم (نه اینکه لزوما از ob_gzhandler برای فشرده سازی استفاده بشه کافیه که تابع به صورت ob_start() و بدون آرگومان فراخوانی بشه تا فقط بافرینگ فعال شه) بعد هر چی دلمون میخواد با هر تابعی که میخوایم به Browser بفرستیم. اینها همه تو بافر میمونه تا بالاخره تابع مربوط به کوکی رواستفاده کنیم و درست بعد از اون یا اینکه بعد از پایان کار (مهم نیست کدوم یکی مهم اینه که بعد از کار با کوکی ها باشه) تابع ob_end_flush رو فراخوانی کنیم که خروجی از بافر به Browser فرستاده بشه و بعد بافرینگ تعطیل شه!
    جز این یه فایده دیگه ای هم که ممکنه بدرد بخوره (و ممکنه نخوره) اینه که میشه یه سری کار رو خروجی انجام داد اونم خارج از کد و به صورت مستقل مثلا میخوایم تمام کلمات Auguest رو تو خروجی که به Browser فرستاده میشه با April عوض کنیم (بیچاره الیوت اگه میفهمید شعرش سر از کجا در میاره!!) اونوقت میتونیم اینجوری عمل کنیم :

    PHP:
    <?php

    function ob_callback($outbuffer
    {
      
    // replace all the Auguest with April 
      
    return (str_replace("Auguest""April"$outbuffer));
    }

    ob_start("ob_callback");

    ?>

    <html>
    <body>
    <p>Auguest is the cruellest month 
    </body>
    </html>

    <?php

    ob_end_flush
    ();

    ?> 
    تو این مورد ob_callback میشه تابعی که خروجی ازش عبور میکنه و ممکنه هر کاری با خروجی بکنه و فقط به همین دو دو تا چهار تا محدود نمیشه.

    یه نکته هم اینکه اطلاعاتی که با تابع header فرستاده میشه از این فیلتر نمیگذره(و تابع SetCookie )
    این ob_gzhandler هم اول browser رو چک میکنه بعد عمل میکنه (اگه Browser فشرده سازی رو فبول کنه ) بنابر این در مورد استفاده از اون میشه گفت که بی خطره و مشکلی پیش نمیاد حتی اگه Browser این رو ساپورت نکنه.

    چقدر بيكارم من كه اينهمه نوشتم!!! :D
     
  12. sina1808

    sina1808 Registered User

    تاریخ عضویت:
    ‏11 سپتامبر 2003
    نوشته ها:
    1,564
    تشکر شده:
    5
    يه سوال ...
    اين فوروم phpbb يه حالت داره براي فعال شدن gzip
    ميخواستم بدونم با فعال شدنش سرعت لود شدن صفحات بيشتر ميشه يا كمتر؟
     
  13. A-Parsa

    A-Parsa کاربر تازه وارد

    تاریخ عضویت:
    ‏10 می 2004
    نوشته ها:
    39
    تشکر شده:
    1

    سلام ..
    1- علاوه بر توضيح خوب littlerabbit ، خوندن مقاله نيما هم ميتونه اطلاعات شما رو در مورد اين فشرده سازي بيشتر كنه . [ كليك كنيد ]
    2- فايل htaccess. فقط در فولدر Root ساخته بشه کافی هست .
    3- بله ، سرور باید از این قابلیت پشتیبانی بکنه که اکثر سرور ها -اگر اشتباه نکنم- این امکان رو بصورت فعال دارن .
     
  14. Persia

    Persia Registered User

    تاریخ عضویت:
    ‏2 نوامبر 2003
    نوشته ها:
    637
    تشکر شده:
    7
    ممنون از توضيحاتتون.
    :)
     
  15. sina1808

    sina1808 Registered User

    تاریخ عضویت:
    ‏11 سپتامبر 2003
    نوشته ها:
    1,564
    تشکر شده:
    5
    من يه خورده قاطي كردم (-:
    براي صفحات استاتيك كه html و php هستند ميشه اينكار رو كرد؟
    چطوري ؟ (-:
     
  16. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
  17. sina1808

    sina1808 Registered User

    تاریخ عضویت:
    ‏11 سپتامبر 2003
    نوشته ها:
    1,564
    تشکر شده:
    5
    من گد پايين رو استفاده كردم ولي ارور 500 گرفتم ...

    php_value zlib.output_compression 1
    php_value zlib.output_compression_level 9

    لابد از اين هم نميشه استفاده كرد؟ :(
     
  18. sina1808

    sina1808 Registered User

    تاریخ عضویت:
    ‏11 سپتامبر 2003
    نوشته ها:
    1,564
    تشکر شده:
    5
    كمك كنيد ...
     
  19. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
  20. sina1808

    sina1808 Registered User

    تاریخ عضویت:
    ‏11 سپتامبر 2003
    نوشته ها:
    1,564
    تشکر شده:
    5
    توي اون فايل htaccess.
    اينا رو نوشتم ...
    php_value zlib.output_compression 1
    php_value zlib.output_compression_level 9

    با مديريت هوست صحبت كردم انگار نميشه استفاده كرد ...
    گفتن بنويسم توي فايلي به نام php.ini و در پوشه هاي مورد نظر كپي كنم ...
     
  21. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    اين طوري كار كرد؟
    من تنظيم php.ini براي هر شاخه رو تا به حال نديدم!
     
عسل طبیعی و گرده گل ایرانیخدمات پی پال، وسترن یونیون