تصویر داکر فرم بسیار مناسبی برای تهیه نسخه مناسب PHP است که برای اجرا در هر دستگاه آماده است.
برای نصب Docker روی دستگاه خود ، اسناد رسمی را بررسی کنید.
تصویر Docker را با کامپایل PHP 8 تهیه کردم و در Docker Hub موجود است: https://cloud.docker.com/u/akondas/repository/docker/akondas/php
برچسب تصویر داکر: akondas / php: 8.0-cli-alpine.
در شبکه ، می توانید تصاویر مشابهی را پیدا کنید که می توانند برای همین مناسب باشند. با این حال ، من می خواستم به دو هدف اضافی نیز دست یابم:
یاد بگیرید که تصاویر خود را بسازید و آنها را به صورت عمومی به اشتراک بگذارید
تصویری شبیه به تصاویر رسمی PHP 7.x تهیه کنید
نکته دوم برای ایجاد یک مقایسه جامع از نسخه php از نظر عملکرد برای من به ویژه ضروری خواهد بود.
من فرض می کنم شما Docker را نصب کرده اید یا قبلاً آن را قبلاً نیز داشته اید. برای اجرای هر پرونده .php در PHP 8 از دستگاه شما نیاز داریم:
docker run -it akondas / php: 8.0-cli-alpine
-v "$ PWD": / usr / src / app
-w / usr / src / app
بنابراین فرمان کامل مانند این است:
docker run -it -v "$PWD":/usr/src/app -w /usr/src/app \ akondas/php:8.0-cli-alpine php script.php
برای فعال کردن JIT باید این چهار پارامتر اضافی را ارائه دهید:
-dzend_extension=opcache.so -dopcache.enable_cli=1 -dopcache.jit_buffer_size=500000000 -dopcache.jit=1235
مورد اول opcache را اجرا می کند ، دیگران JIT را پیکربندی می کنند. می توانید مقادیر آنها را از این طریق تغییر دهید و جلوه های مختلف را بررسی کنید. جزئیات بیشتری درباره تنظیمات جدید در RFC خواهید یافت.
بیایید یک اسکریپت آزمایشی ساده برای آزمایش عملکرد JIT جدید تهیه کنیم. من پیشنهاد می کنم یک عملکرد فیبوناچی خوب و ساده بنویسید ?:
function fibonacci($n){ return(($n < 2) ? 1 : fibonacci($n - 2) + fibonacci($n - 1)); } $n = 32; $start = microtime(true); $fibonacci = fibonacci($n); $stop = microtime(true); echo sprintf("Fibonacci(%s): %s\nTime: %s", $n, $fibonacci, $stop-$start);
و اکنون زمان نمایش است. ابتدا بیایید نتیجه خاموش را بررسی کنیم.
docker run -it -v "$PWD":/usr/src/app -w /usr/src/app \ akondas/php:8.0-cli-alpine php fibo.php Fibonacci(32): 3524578 Time: 0.17796015739441
خوب ، JIT ، به من نشان بده آنچه بدست آورده:
docker run -it -v "$PWD":/usr/src/app -w /usr/src/app \ akondas/php:8.0-cli-alpine php -dzend_extension=opcache.so \ -dopcache.enable_cli=1 -dopcache.jit_buffer_size=500000000 \ -dopcache.jit=1235 fibo.php Fibonacci(32): 3524578 Time: 0.050444841384888
بنابراین 0.1779 در مقابل 0.0504 چشمگیر به نظر می رسد. شروع JIT ، در صورت محاسبه فیبوناچی ، 352٪ از افزایش سرعت gave را به دست آورد.
اکنون زمان آن است که شما آن را آزمایش کنید! من شما را تشویق می کنم تا نتایج آزمایش ها را در نظرات به اشتراک بگذارید.
از JIT لذت ببرید.