با توجه به ارائه PHP 5.4 این سوال مطرح میگردد که آیا ارتقا به PHP 5.4 مفید خواهد بود؟
همیشه ارتقا به نسخههای جدید توسط تیم توسعه و پشتیبانی زبانهای برنامه نویسی توصیه میگردد، اما اینبار تیم توسعه PHP بدون توجه به میزان استفاده از نسخههای متفاوت PHP، استفاده کنندگان را نسبت به بهکارگیری نسخه جدید PHP 5.4 تشویق نمودهاست، این تیم اعلام نموده ۵ باگ اساسی در این نسخه برطرف شدهاست که در برگیرندهی CVE-2014-1943 نیز میباشد.
در ادامه قصد داریم برخی تغییرات PHP 5.4 را نسبت به نسخههای پیشین بررسی کنیم.
سرعت در PHP 5.4:
سرعت اجرای کدها در PHP 5.4 نسبت به نسخه 5.3 آن تقریبا ۲ برابر شدهاست. دوبرابر شدن سرعت اجرای کد، بهینهسازی بالای قواعد زبان برنامه نویسی را میطلبد. برای آزمایش این موضوع کافی است یک آزمایش ساده انجام داد.
قطعه کد ساده زیر را در در شرایط مساوی سختافزاری و نرمافزاری بر روی یک سیستم با هر دو ورژن اجرا کردیم.
$r = 10 * 1000 * 1000; $start = microtime(true); while($r-- > 0) { new StdClass(); } $finish = microtime(true); echo "time taken: " . ($finish - $start) . "\n";
نتیجه باورنکردنی بود، در نمودار زیر شما میتوانید تفاوت زمان اجرای کد را در در ورژن 5.4 و 5.3 مشاهده نمایید.
امنیت در PHP 5.4:
بنا به گزارش وبسایت رسمی PHP نسخه جدید PHP 5.4 به دلیل رفع باگهای زیر، از نظر امنیتی در سطح بالاتری نسبت به نسخههای قبل دارد.
JSON: | ||
باگ شماره 65753 (قابلیت JsonSerializeable برای اکستنشن ماژولها). | ||
Fileinfo: | ||
باگ شماره 66731 (فایل: بازگشت نامحدود یا CVE-2014-1943). | ||
باگ شماره 66820 (out-of-bounds در دسترسی به حافظه fileinfo یا CVE-2014-2270) | ||
LDAP: | ||
اجرای Implemented ldap_modify_batch | ||
Openssl: | ||
باگ شماره 66501 (افزودن کلید EC به php_openssl_is_private_key) | ||
Pgsql: | ||
اضافه شدن هشدار برای رمزگذاریهای خطرناک کاربران و حذف امکان حملات injections (تزریق) برای توابع pg_insert()/pg_update()/pg_delete()/pg_select(). |
-
ویژگیهای برنامه نویسی PHP 5.4:
توسعه دهندگان PHP توصیه کردهاند از mcrypt_generic_end() و mysql_list_dbs() در نسخه 5.4 استفاده نشود. برخی از قابلیتهای در این نسخه دیگر وجود ندارد که میتوانید لیست کامل آنها را از این لینک مشاهده نمایید.
امکانات -قابلیتها- و توابع جدید در PHP 5.4 اضافه شدهاست که عبارتند از:
همچنین در PHP 5.4 برخی از extensions تغییر و یا بهطور کامل حذف شدهاند، کارایی توابعی مانند debug_backtrace()، is_link() و openssl_encrypt() نیز تغییر کردهاست.
1 دیدگاه. دیدگاه تازه ای بنویسید
ممنون