{"id":75525,"date":"2024-09-03T03:24:42","date_gmt":"2024-09-02T23:54:42","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/"},"modified":"2024-09-03T03:24:42","modified_gmt":"2024-09-02T23:54:42","slug":"20-rules-to-optimize-php-for-high-traffic-websites-2728","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/","title":{"rendered":"20 \u0642\u0627\u0646\u0648\u0646 \u0628\u0631\u0627\u06cc \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc PHP \u0628\u0631\u0627\u06cc \u0648\u0628 \u0633\u0627\u06cc\u062a \u0647\u0627\u06cc \u067e\u0631\u062a\u0631\u0627\u0641\u06cc\u06a9"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang<br \/>\n            \u062d\u062a\u0645\u0627! \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc PHP \u0628\u0631\u0627\u06cc \u0648\u0628\u200c\u0633\u0627\u06cc\u062a\u200c\u0647\u0627\u06cc \u067e\u0631\u0628\u0627\u0632\u062f\u06cc\u062f \u0646\u06cc\u0627\u0632\u0645\u0646\u062f \u06cc\u06a9 \u0631\u0648\u06cc\u06a9\u0631\u062f \u062c\u0627\u0645\u0639 \u0627\u0633\u062a \u06a9\u0647 \u0634\u0627\u0645\u0644 \u06a9\u06cc\u0641\u06cc\u062a \u06a9\u062f\u060c \u0645\u062f\u06cc\u0631\u06cc\u062a \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u060c \u06a9\u0634 \u06a9\u0631\u062f\u0646\u060c \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0633\u0631\u0648\u0631 \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f. \u062f\u0631 \u0632\u06cc\u0631 \u0641\u0647\u0631\u0633\u062a \u06af\u0633\u062a\u0631\u062f\u0647\u200c\u0627\u06cc \u0627\u0632 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc PHP \u0628\u0631\u0627\u06cc \u0648\u0628\u200c\u0633\u0627\u06cc\u062a\u200c\u0647\u0627\u06cc \u067e\u0631\u0628\u0627\u0632\u062f\u06cc\u062f\u060c \u0628\u0627 \u0646\u0645\u0648\u0646\u0647\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc \u062f\u0631 \u0645\u0648\u0627\u0631\u062f\u06cc \u06a9\u0647 \u0642\u0627\u0628\u0644 \u0627\u062c\u0631\u0627 \u0647\u0633\u062a\u0646\u062f\u060c \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>  1. \u0627\u0632 Opcode Caching \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: OPcache \u0631\u0627 \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u06a9\u062f\u0647\u0627\u06cc PHP \u0627\u0632 \u067e\u06cc\u0634 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u0634\u062f\u0647 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>; Enable OPcache in php.ini<br \/>\nopcache.enable=1<br \/>\nopcache.memory_consumption=128<br \/>\nopcache.interned_strings_buffer=8<br \/>\nopcache.max_accelerated_files=10000<br \/>\nopcache.revalidate_freq=60<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  2. \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u067e\u0631\u0633 \u0648 \u062c\u0648\u0647\u0627\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u0627\u0632 \u0633\u062a\u0648\u0646 \u0647\u0627\u06cc \u0646\u0645\u0627\u06cc\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 \u0633\u062a\u0648\u0646 \u0647\u0627\u06cc \u063a\u06cc\u0631 \u0636\u0631\u0648\u0631\u06cc \u062f\u0631 \u062f\u0633\u062a\u0648\u0631\u0627\u062a SELECT \u0627\u062c\u062a\u0646\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>&#8212; Instead of SELECT *<br \/>\nSELECT id, name, price FROM products WHERE category_id = 1;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  3. \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc Data Caching<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0645\u06a9\u0631\u0631\u0627\u064b \u0628\u0627 Memcached \u0628\u0647 \u0622\u0646\u200c\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u06cc\u062f\u0627 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f\u060c \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>$memcached = new Memcached();<br \/>\n$memcached-&gt;addServer(&#8216;localhost&#8217;, 11211);<br \/>\n$key = &#8216;products_list&#8217;;<br \/>\n$products = $memcached-&gt;get($key);<\/p>\n<p>if ($products === FALSE) {<br \/>\n    $products = get_products_from_database(); \/\/ Fetch from DB<br \/>\n    $memcached-&gt;set($key, $products, 600); \/\/ Cache for 10 minutes<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  4. \u0627\u0632 \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0645\u062f\u0627\u0648\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u0627\u0632 \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u062f\u0627\u0626\u0645\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0647\u0634 \u0633\u0631\u0628\u0627\u0631 \u0627\u062a\u0635\u0627\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>$pdo = new PDO(&#8216;mysql:host=localhost;dbname=test&#8217;, &#8216;user&#8217;, &#8216;password&#8217;, [<br \/>\n    PDO::ATTR_PERSISTENT =&gt; true<br \/>\n]);<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  5. \u0639\u0645\u0644\u06cc\u0627\u062a \u0648\u0631\u0648\u062f\u06cc\/\u062e\u0631\u0648\u062c\u06cc \u0641\u0627\u06cc\u0644 \u0631\u0627 \u06a9\u0627\u0647\u0634 \u062f\u0647\u06cc\u062f<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u062e\u0648\u0627\u0646\u062f\u0646\/\u0646\u0648\u0634\u062a\u0646 \u0641\u0627\u06cc\u0644 \u0633\u06cc\u0633\u062a\u0645 \u0631\u0627 \u0628\u0647 \u062d\u062f\u0627\u0642\u0644 \u0628\u0631\u0633\u0627\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>\/\/ Avoid repeated file reads<br \/>\n$settings = include(&#8216;config.php&#8217;); \/\/ Cache this in a variable if used multiple times<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  6. \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc PHP<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f php.ini \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0647\u062a\u0631<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>memory_limit=256M<br \/>\nmax_execution_time=30<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  7. \u0627\u0632 Autoloaders \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u0627\u0632 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 Composer \u0628\u0631\u0627\u06cc \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0627\u0631\u0622\u0645\u062f \u06a9\u0644\u0627\u0633 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>require &#8216;vendor\/autoload.php&#8217;; \/\/ Composer&#8217;s autoloader<\/p>\n<p>\/\/ Use classes<br \/>\n$object = new MyClass();<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  8. \u0627\u062c\u0631\u0627\u06cc Load Balancing<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0631\u0627 \u062f\u0631 \u0686\u0646\u062f\u06cc\u0646 \u0633\u0631\u0648\u0631 \u062a\u0648\u0632\u06cc\u0639 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>Nginx \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0631\u062f\u0646 \u0628\u0627\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<p>http {<br \/>\n    upstream backend {<br \/>\n        server backend1.example.com;<br \/>\n        server backend2.example.com;<br \/>\n    }<\/p>\n<p>    server {<br \/>\n        location \/ {<br \/>\n            proxy_pass http:\/\/backend;<br \/>\n        }<br \/>\n    }<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  9. \u0627\u0632 \u067e\u0631\u062f\u0627\u0632\u0634 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0648\u0638\u0627\u06cc\u0641 \u0628\u0647 \u0641\u0631\u0622\u06cc\u0646\u062f\u0647\u0627\u06cc \u067e\u0633 \u0632\u0645\u06cc\u0646\u0647.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>\/\/ Using a queue system like Redis<br \/>\n$redis = new Redis();<br \/>\n$redis-&gt;connect(&#8216;localhost&#8217;);<br \/>\n$redis-&gt;rPush(&#8217;email_queue&#8217;, json_encode($emailData));<\/p>\n<p>\/\/ Worker process to handle email sending<br \/>\n$emailData = json_decode($redis-&gt;lPop(&#8217;email_queue&#8217;), true);<br \/>\nsend_email($emailData);<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  10. \u0628\u0647 \u062d\u062f\u0627\u0642\u0644 \u0631\u0633\u0627\u0646\u062f\u0646 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u0641\u0642\u0637 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627 \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u06cc \u0636\u0631\u0648\u0631\u06cc \u0631\u0627 \u0634\u0627\u0645\u0644 \u0634\u0648\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>composer install &#8211;no-dev \/\/ Install production dependencies only<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  11. \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u062d\u0644\u0642\u0647 \u0647\u0627 \u0648 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0647\u0627<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u0627\u0632 \u062d\u0644\u0642\u0647 \u0647\u0627 \u0648 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0647\u0627\u06cc \u0646\u0627\u06a9\u0627\u0631\u0622\u0645\u062f \u0627\u062c\u062a\u0646\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>\/\/ Instead of inefficient loops<br \/>\nforeach ($items as $item) {<br \/>\n    \/\/ Process item<br \/>\n}<\/p>\n<p>\/\/ Use optimized algorithms and data structures<br \/>\n$items = array_map(&#8216;processItem&#8217;, $items);<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  12. \u0627\u0632 \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u06a9\u0627\u0631\u0622\u0645\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u0645\u0646\u0627\u0633\u0628 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u062e\u0648\u062f \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>\/\/ Using associative arrays for quick lookups<br \/>\n$data = [&#8216;key1&#8217; =&gt; &#8216;value1&#8217;, &#8216;key2&#8217; =&gt; &#8216;value2&#8217;];<br \/>\n$value = $data[&#8216;key1&#8217;];<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  13. \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u062c\u0644\u0633\u0647<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u0627\u0632 \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u062c\u0644\u0633\u0627\u062a \u06a9\u0627\u0631\u0622\u0645\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>; Use Redis for session storage<br \/>\nsession.save_handler = redis<br \/>\nsession.save_path = &#8220;tcp:\/\/localhost:6379&#8243;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  14. \u0627\u0632 HTTP\/2 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0647\u062a\u0631 \u0627\u0632 HTTP\/2 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc HTTP\/2 \u062f\u0631 Nginx:<\/p>\n<p>server {<br \/>\n    listen 443 ssl http2;<br \/>\n    # Other SSL configuration<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  15. \u0641\u0634\u0631\u062f\u0647 \u0633\u0627\u0632\u06cc Gzip \u0631\u0627 \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u0641\u0634\u0631\u062f\u0647 \u0633\u0627\u0632\u06cc \u067e\u0627\u0633\u062e \u0647\u0627 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0647\u0634 \u067e\u0647\u0646\u0627\u06cc \u0628\u0627\u0646\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>http {<br \/>\n    gzip on;<br \/>\n    gzip_types text\/plain text\/css application\/json application\/javascript;<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  16. \u0627\u0646\u062f\u0627\u0632\u0647 \u062f\u0627\u0631\u0627\u06cc\u06cc Frontend \u0631\u0627 \u0628\u0647 \u062d\u062f\u0627\u0642\u0644 \u0628\u0631\u0633\u0627\u0646\u06cc\u062f<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: CSS\u060c \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0648 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u062a\u0635\u0648\u06cc\u0631\u06cc \u0631\u0627 \u0628\u0647\u06cc\u0646\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p># Minify CSS and JS files<br \/>\nuglifyjs script.js -o script.min.js<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  17. \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0634\u0628\u06a9\u0647 \u062a\u062d\u0648\u06cc\u0644 \u0645\u062d\u062a\u0648\u0627 (CDN)<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u0645\u062d\u062a\u0648\u0627\u06cc \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 CDN \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>CDN \u0631\u0627 \u0628\u0631\u0627\u06cc \u062f\u0627\u0631\u0627\u06cc\u06cc \u0647\u0627\u06cc \u062b\u0627\u0628\u062a \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<p> rel=&#8221;stylesheet&#8221; href=&#8221;https:\/\/cdn.example.com\/styles.css&#8221;&gt;<br \/>\nsrc=]]>&#8221;https:\/\/cdn.example.com\/scripts.js&#8221;&gt;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  18. \u062b\u0628\u062a \u062e\u0637\u0627 \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u062e\u0637\u0627\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0648\u062b\u0631 \u0628\u0631\u0627\u06cc \u0627\u0634\u06a9\u0627\u0644 \u0632\u062f\u0627\u06cc\u06cc \u062b\u0628\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>; Log errors to a file<br \/>\nerror_log = \/var\/log\/php_errors.log<br \/>\nlog_errors = On<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  19. \u0646\u0638\u0627\u0631\u062a \u0628\u0631 \u0639\u0645\u0644\u06a9\u0631\u062f<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u0627\u0632 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0646\u0638\u0627\u0631\u062a\u06cc \u0628\u0631\u0627\u06cc \u0631\u062f\u06cc\u0627\u0628\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>\u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc New Relic:<\/p>\n<p># Install New Relic PHP agent<br \/>\nsudo newrelic-install install<\/p>\n<p># Configure New Relic in php.ini<br \/>\nnewrelic.enabled = true<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  20. \u0628\u0647 \u0637\u0648\u0631 \u0645\u0646\u0638\u0645 \u0646\u0645\u0627\u06cc\u0647 \u0648 \u0645\u0639\u06cc\u0627\u0631<\/p>\n<p>\u0642\u0627\u0646\u0648\u0646: \u0628\u0647 \u0637\u0648\u0631 \u0645\u062f\u0627\u0648\u0645 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0631\u0627 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u0648 \u0645\u062d\u06a9 \u0628\u0632\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<p>\u0627\u0632 Xdebug \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0647 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0647\u0627\u06cc PHP \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<p># Install Xdebug<br \/>\nsudo pecl install xdebug<\/p>\n<p># Enable Xdebug profiling in php.ini<br \/>\nxdebug.profiler_enable = 1<br \/>\nxdebug.profiler_output_dir = &#8220;\/tmp\/xdebug&#8221;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0628\u0627 \u0631\u0639\u0627\u06cc\u062a \u0627\u06cc\u0646 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0648 \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u0645\u062b\u0627\u0644 \u0647\u0627\u06cc \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0639\u0645\u0644\u06a9\u0631\u062f \u0648 \u0645\u0642\u06cc\u0627\u0633 \u067e\u0630\u06cc\u0631\u06cc \u0648\u0628 \u0633\u0627\u06cc\u062a \u0647\u0627\u06cc \u067e\u0631\u0628\u0627\u0632\u062f\u06cc\u062f \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 PHP \u0631\u0627 \u0628\u0647 \u0645\u06cc\u0632\u0627\u0646 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f.<\/p>\n<div data-article-id=\"1984631\" id=\"article-body\">\n<p>\u062d\u062a\u0645\u0627! \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc PHP \u0628\u0631\u0627\u06cc \u0648\u0628\u200c\u0633\u0627\u06cc\u062a\u200c\u0647\u0627\u06cc \u067e\u0631\u0628\u0627\u0632\u062f\u06cc\u062f \u0646\u06cc\u0627\u0632\u0645\u0646\u062f \u06cc\u06a9 \u0631\u0648\u06cc\u06a9\u0631\u062f \u062c\u0627\u0645\u0639 \u0627\u0633\u062a \u06a9\u0647 \u0634\u0627\u0645\u0644 \u06a9\u06cc\u0641\u06cc\u062a \u06a9\u062f\u060c \u0645\u062f\u06cc\u0631\u06cc\u062a \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u060c \u06a9\u0634 \u06a9\u0631\u062f\u0646\u060c \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0633\u0631\u0648\u0631 \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f. \u062f\u0631 \u0632\u06cc\u0631 \u0641\u0647\u0631\u0633\u062a \u06af\u0633\u062a\u0631\u062f\u0647\u200c\u0627\u06cc \u0627\u0632 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc PHP \u0628\u0631\u0627\u06cc \u0648\u0628\u200c\u0633\u0627\u06cc\u062a\u200c\u0647\u0627\u06cc \u067e\u0631\u0628\u0627\u0632\u062f\u06cc\u062f\u060c \u0628\u0627 \u0646\u0645\u0648\u0646\u0647\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc \u062f\u0631 \u0645\u0648\u0627\u0631\u062f\u06cc \u06a9\u0647 \u0642\u0627\u0628\u0644 \u0627\u062c\u0631\u0627 \u0647\u0633\u062a\u0646\u062f\u060c \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#1_%D8%A7%D8%B2_Opcode_Caching_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\" >1. \u0627\u0632 Opcode Caching \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#2_%D8%A8%D9%87%DB%8C%D9%86%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%D9%BE%D8%B1%D8%B3_%D9%88_%D8%AC%D9%88%D9%87%D8%A7%DB%8C_%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87_%D8%AF%D8%A7%D8%AF%D9%87\" >2. \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u067e\u0631\u0633 \u0648 \u062c\u0648\u0647\u0627\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#3_%D9%BE%DB%8C%D8%A7%D8%AF%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_Data_Caching\" >3. \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc Data Caching<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#4_%D8%A7%D8%B2_%D8%A7%D8%AA%D8%B5%D8%A7%D9%84%D8%A7%D8%AA_%D9%85%D8%AF%D8%A7%D9%88%D9%85_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\" >4. \u0627\u0632 \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0645\u062f\u0627\u0648\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#5_%D8%B9%D9%85%D9%84%DB%8C%D8%A7%D8%AA_%D9%88%D8%B1%D9%88%D8%AF%DB%8C%D8%AE%D8%B1%D9%88%D8%AC%DB%8C_%D9%81%D8%A7%DB%8C%D9%84_%D8%B1%D8%A7_%DA%A9%D8%A7%D9%87%D8%B4_%D8%AF%D9%87%DB%8C%D8%AF\" >5. \u0639\u0645\u0644\u06cc\u0627\u062a \u0648\u0631\u0648\u062f\u06cc\/\u062e\u0631\u0648\u062c\u06cc \u0641\u0627\u06cc\u0644 \u0631\u0627 \u06a9\u0627\u0647\u0634 \u062f\u0647\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#6_%D8%A8%D9%87%DB%8C%D9%86%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_PHP\" >6. \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc PHP<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#7_%D8%A7%D8%B2_Autoloaders_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\" >7. \u0627\u0632 Autoloaders \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#8_%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_Load_Balancing\" >8. \u0627\u062c\u0631\u0627\u06cc Load Balancing<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#9_%D8%A7%D8%B2_%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4_%D9%86%D8%A7%D9%87%D9%85%D8%B2%D9%85%D8%A7%D9%86_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\" >9. \u0627\u0632 \u067e\u0631\u062f\u0627\u0632\u0634 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#10_%D8%A8%D9%87_%D8%AD%D8%AF%D8%A7%D9%82%D9%84_%D8%B1%D8%B3%D8%A7%D9%86%D8%AF%D9%86_%D9%88%D8%A7%D8%A8%D8%B3%D8%AA%DA%AF%DB%8C_%D9%87%D8%A7\" >10. \u0628\u0647 \u062d\u062f\u0627\u0642\u0644 \u0631\u0633\u0627\u0646\u062f\u0646 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#11_%D8%A8%D9%87%DB%8C%D9%86%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%D8%AD%D9%84%D9%82%D9%87_%D9%87%D8%A7_%D9%88_%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85_%D9%87%D8%A7\" >11. \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u062d\u0644\u0642\u0647 \u0647\u0627 \u0648 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0647\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#12_%D8%A7%D8%B2_%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1%D9%87%D8%A7%DB%8C_%D8%AF%D8%A7%D8%AF%D9%87_%DA%A9%D8%A7%D8%B1%D8%A2%D9%85%D8%AF_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\" >12. \u0627\u0632 \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u06a9\u0627\u0631\u0622\u0645\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#13_%D8%A8%D9%87%DB%8C%D9%86%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_%D8%AC%D9%84%D8%B3%D9%87\" >13. \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u062c\u0644\u0633\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#14_%D8%A7%D8%B2_HTTP2_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\" >14. \u0627\u0632 HTTP\/2 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#15_%D9%81%D8%B4%D8%B1%D8%AF%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_Gzip_%D8%B1%D8%A7_%D9%BE%DB%8C%D8%A7%D8%AF%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >15. \u0641\u0634\u0631\u062f\u0647 \u0633\u0627\u0632\u06cc Gzip \u0631\u0627 \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#16_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%D9%87_%D8%AF%D8%A7%D8%B1%D8%A7%DB%8C%DB%8C_Frontend_%D8%B1%D8%A7_%D8%A8%D9%87_%D8%AD%D8%AF%D8%A7%D9%82%D9%84_%D8%A8%D8%B1%D8%B3%D8%A7%D9%86%DB%8C%D8%AF\" >16. \u0627\u0646\u062f\u0627\u0632\u0647 \u062f\u0627\u0631\u0627\u06cc\u06cc Frontend \u0631\u0627 \u0628\u0647 \u062d\u062f\u0627\u0642\u0644 \u0628\u0631\u0633\u0627\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#17_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_%D8%B4%D8%A8%DA%A9%D9%87_%D8%AA%D8%AD%D9%88%DB%8C%D9%84_%D9%85%D8%AD%D8%AA%D9%88%D8%A7_CDN\" >17. \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0634\u0628\u06a9\u0647 \u062a\u062d\u0648\u06cc\u0644 \u0645\u062d\u062a\u0648\u0627 (CDN)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#18_%D8%AB%D8%A8%D8%AA_%D8%AE%D8%B7%D8%A7_%D8%B1%D8%A7_%D9%81%D8%B9%D8%A7%D9%84_%DA%A9%D9%86%DB%8C%D8%AF\" >18. \u062b\u0628\u062a \u062e\u0637\u0627 \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#19_%D9%86%D8%B8%D8%A7%D8%B1%D8%AA_%D8%A8%D8%B1_%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF\" >19. \u0646\u0638\u0627\u0631\u062a \u0628\u0631 \u0639\u0645\u0644\u06a9\u0631\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/nabfollower.com\/blog\/20-rules-to-optimize-php-for-high-traffic-websites-2728\/#20_%D8%A8%D9%87_%D8%B7%D9%88%D8%B1_%D9%85%D9%86%D8%B8%D9%85_%D9%86%D9%85%D8%A7%DB%8C%D9%87_%D9%88_%D9%85%D8%B9%DB%8C%D8%A7%D8%B1\" >20. \u0628\u0647 \u0637\u0648\u0631 \u0645\u0646\u0638\u0645 \u0646\u0645\u0627\u06cc\u0647 \u0648 \u0645\u0639\u06cc\u0627\u0631<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"1_%D8%A7%D8%B2_Opcode_Caching_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  1. <strong>\u0627\u0632 Opcode Caching \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> OPcache \u0631\u0627 \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u06a9\u062f\u0647\u0627\u06cc PHP \u0627\u0632 \u067e\u06cc\u0634 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u0634\u062f\u0647 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight ini\"><code><span class=\"c\">; Enable OPcache in php.ini\n<\/span><span class=\"py\">opcache.enable<\/span><span class=\"p\">=<\/span><span class=\"s\">1<\/span>\n<span class=\"py\">opcache.memory_consumption<\/span><span class=\"p\">=<\/span><span class=\"s\">128<\/span>\n<span class=\"py\">opcache.interned_strings_buffer<\/span><span class=\"p\">=<\/span><span class=\"s\">8<\/span>\n<span class=\"py\">opcache.max_accelerated_files<\/span><span class=\"p\">=<\/span><span class=\"s\">10000<\/span>\n<span class=\"py\">opcache.revalidate_freq<\/span><span class=\"p\">=<\/span><span class=\"s\">60<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"2_%D8%A8%D9%87%DB%8C%D9%86%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%D9%BE%D8%B1%D8%B3_%D9%88_%D8%AC%D9%88%D9%87%D8%A7%DB%8C_%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87_%D8%AF%D8%A7%D8%AF%D9%87\"><\/span>\n<p>  2. <strong>\u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u067e\u0631\u0633 \u0648 \u062c\u0648\u0647\u0627\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u0627\u0632 \u0633\u062a\u0648\u0646 \u0647\u0627\u06cc \u0646\u0645\u0627\u06cc\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 \u0633\u062a\u0648\u0646 \u0647\u0627\u06cc \u063a\u06cc\u0631 \u0636\u0631\u0648\u0631\u06cc \u062f\u0631 \u062f\u0633\u062a\u0648\u0631\u0627\u062a SELECT \u0627\u062c\u062a\u0646\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight sql\"><code><span class=\"c1\">-- Instead of SELECT *<\/span>\n<span class=\"k\">SELECT<\/span> <span class=\"n\">id<\/span><span class=\"p\">,<\/span> <span class=\"n\">name<\/span><span class=\"p\">,<\/span> <span class=\"n\">price<\/span> <span class=\"k\">FROM<\/span> <span class=\"n\">products<\/span> <span class=\"k\">WHERE<\/span> <span class=\"n\">category_id<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">1<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"3_%D9%BE%DB%8C%D8%A7%D8%AF%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_Data_Caching\"><\/span>\n<p>  3. <strong>\u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc Data Caching<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0645\u06a9\u0631\u0631\u0627\u064b \u0628\u0627 Memcached \u0628\u0647 \u0622\u0646\u200c\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u06cc\u062f\u0627 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f\u060c \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight php\"><code><span class=\"nv\">$memcached<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">Memcached<\/span><span class=\"p\">();<\/span>\n<span class=\"nv\">$memcached<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">addServer<\/span><span class=\"p\">(<\/span><span class=\"s1\">'localhost'<\/span><span class=\"p\">,<\/span> <span class=\"mi\">11211<\/span><span class=\"p\">);<\/span>\n<span class=\"nv\">$key<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">'products_list'<\/span><span class=\"p\">;<\/span>\n<span class=\"nv\">$products<\/span> <span class=\"o\">=<\/span> <span class=\"nv\">$memcached<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">get<\/span><span class=\"p\">(<\/span><span class=\"nv\">$key<\/span><span class=\"p\">);<\/span>\n\n<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nv\">$products<\/span> <span class=\"o\">===<\/span> <span class=\"kc\">FALSE<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nv\">$products<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">get_products_from_database<\/span><span class=\"p\">();<\/span> <span class=\"c1\">\/\/ Fetch from DB<\/span>\n    <span class=\"nv\">$memcached<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">set<\/span><span class=\"p\">(<\/span><span class=\"nv\">$key<\/span><span class=\"p\">,<\/span> <span class=\"nv\">$products<\/span><span class=\"p\">,<\/span> <span class=\"mi\">600<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ Cache for 10 minutes<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"4_%D8%A7%D8%B2_%D8%A7%D8%AA%D8%B5%D8%A7%D9%84%D8%A7%D8%AA_%D9%85%D8%AF%D8%A7%D9%88%D9%85_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  4. <strong>\u0627\u0632 \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0645\u062f\u0627\u0648\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u0627\u0632 \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u062f\u0627\u0626\u0645\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0647\u0634 \u0633\u0631\u0628\u0627\u0631 \u0627\u062a\u0635\u0627\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight php\"><code><span class=\"nv\">$pdo<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">PDO<\/span><span class=\"p\">(<\/span><span class=\"s1\">'mysql:host=localhost;dbname=test'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'user'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'password'<\/span><span class=\"p\">,<\/span> <span class=\"p\">[<\/span>\n    <span class=\"no\">PDO<\/span><span class=\"o\">::<\/span><span class=\"no\">ATTR_PERSISTENT<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"kc\">true<\/span>\n<span class=\"p\">]);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"5_%D8%B9%D9%85%D9%84%DB%8C%D8%A7%D8%AA_%D9%88%D8%B1%D9%88%D8%AF%DB%8C%D8%AE%D8%B1%D9%88%D8%AC%DB%8C_%D9%81%D8%A7%DB%8C%D9%84_%D8%B1%D8%A7_%DA%A9%D8%A7%D9%87%D8%B4_%D8%AF%D9%87%DB%8C%D8%AF\"><\/span>\n<p>  5. <strong>\u0639\u0645\u0644\u06cc\u0627\u062a \u0648\u0631\u0648\u062f\u06cc\/\u062e\u0631\u0648\u062c\u06cc \u0641\u0627\u06cc\u0644 \u0631\u0627 \u06a9\u0627\u0647\u0634 \u062f\u0647\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u062e\u0648\u0627\u0646\u062f\u0646\/\u0646\u0648\u0634\u062a\u0646 \u0641\u0627\u06cc\u0644 \u0633\u06cc\u0633\u062a\u0645 \u0631\u0627 \u0628\u0647 \u062d\u062f\u0627\u0642\u0644 \u0628\u0631\u0633\u0627\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight php\"><code><span class=\"c1\">\/\/ Avoid repeated file reads<\/span>\n<span class=\"nv\">$settings<\/span> <span class=\"o\">=<\/span> <span class=\"k\">include<\/span><span class=\"p\">(<\/span><span class=\"s1\">'config.php'<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ Cache this in a variable if used multiple times<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"6_%D8%A8%D9%87%DB%8C%D9%86%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_PHP\"><\/span>\n<p>  6. <strong>\u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc PHP<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f <code>php.ini<\/code> \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0647\u062a\u0631<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight ini\"><code><span class=\"py\">memory_limit<\/span><span class=\"p\">=<\/span><span class=\"s\">256M<\/span>\n<span class=\"py\">max_execution_time<\/span><span class=\"p\">=<\/span><span class=\"s\">30<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"7_%D8%A7%D8%B2_Autoloaders_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  7. <strong>\u0627\u0632 Autoloaders \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u0627\u0632 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 Composer \u0628\u0631\u0627\u06cc \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0627\u0631\u0622\u0645\u062f \u06a9\u0644\u0627\u0633 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight php\"><code><span class=\"k\">require<\/span> <span class=\"s1\">'vendor\/autoload.php'<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ Composer's autoloader<\/span>\n\n<span class=\"c1\">\/\/ Use classes<\/span>\n<span class=\"nv\">$object<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">MyClass<\/span><span class=\"p\">();<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"8_%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_Load_Balancing\"><\/span>\n<p>  8. <strong>\u0627\u062c\u0631\u0627\u06cc Load Balancing<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0631\u0627 \u062f\u0631 \u0686\u0646\u062f\u06cc\u0646 \u0633\u0631\u0648\u0631 \u062a\u0648\u0632\u06cc\u0639 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<ul>\n<li>Nginx \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0631\u062f\u0646 \u0628\u0627\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight nginx\"><code><span class=\"k\">http<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kn\">upstream<\/span> <span class=\"s\">backend<\/span> <span class=\"p\">{<\/span>\n        <span class=\"kn\">server<\/span> <span class=\"s\">backend1.example.com<\/span><span class=\"p\">;<\/span>\n        <span class=\"kn\">server<\/span> <span class=\"s\">backend2.example.com<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"kn\">server<\/span> <span class=\"p\">{<\/span>\n        <span class=\"kn\">location<\/span> <span class=\"n\">\/<\/span> <span class=\"p\">{<\/span>\n            <span class=\"kn\">proxy_pass<\/span> <span class=\"s\">http:\/\/backend<\/span><span class=\"p\">;<\/span>\n        <span class=\"p\">}<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"9_%D8%A7%D8%B2_%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4_%D9%86%D8%A7%D9%87%D9%85%D8%B2%D9%85%D8%A7%D9%86_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  9. <strong>\u0627\u0632 \u067e\u0631\u062f\u0627\u0632\u0634 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0648\u0638\u0627\u06cc\u0641 \u0628\u0647 \u0641\u0631\u0622\u06cc\u0646\u062f\u0647\u0627\u06cc \u067e\u0633 \u0632\u0645\u06cc\u0646\u0647.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight php\"><code><span class=\"c1\">\/\/ Using a queue system like Redis<\/span>\n<span class=\"nv\">$redis<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">Redis<\/span><span class=\"p\">();<\/span>\n<span class=\"nv\">$redis<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">connect<\/span><span class=\"p\">(<\/span><span class=\"s1\">'localhost'<\/span><span class=\"p\">);<\/span>\n<span class=\"nv\">$redis<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">rPush<\/span><span class=\"p\">(<\/span><span class=\"s1\">'email_queue'<\/span><span class=\"p\">,<\/span> <span class=\"nb\">json_encode<\/span><span class=\"p\">(<\/span><span class=\"nv\">$emailData<\/span><span class=\"p\">));<\/span>\n\n<span class=\"c1\">\/\/ Worker process to handle email sending<\/span>\n<span class=\"nv\">$emailData<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">json_decode<\/span><span class=\"p\">(<\/span><span class=\"nv\">$redis<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">lPop<\/span><span class=\"p\">(<\/span><span class=\"s1\">'email_queue'<\/span><span class=\"p\">),<\/span> <span class=\"kc\">true<\/span><span class=\"p\">);<\/span>\n<span class=\"nf\">send_email<\/span><span class=\"p\">(<\/span><span class=\"nv\">$emailData<\/span><span class=\"p\">);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"10_%D8%A8%D9%87_%D8%AD%D8%AF%D8%A7%D9%82%D9%84_%D8%B1%D8%B3%D8%A7%D9%86%D8%AF%D9%86_%D9%88%D8%A7%D8%A8%D8%B3%D8%AA%DA%AF%DB%8C_%D9%87%D8%A7\"><\/span>\n<p>  10. <strong>\u0628\u0647 \u062d\u062f\u0627\u0642\u0644 \u0631\u0633\u0627\u0646\u062f\u0646 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u0641\u0642\u0637 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627 \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u06cc \u0636\u0631\u0648\u0631\u06cc \u0631\u0627 \u0634\u0627\u0645\u0644 \u0634\u0648\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>composer <span class=\"nb\">install<\/span> <span class=\"nt\">--no-dev<\/span> \/\/ Install production dependencies only\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"11_%D8%A8%D9%87%DB%8C%D9%86%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%D8%AD%D9%84%D9%82%D9%87_%D9%87%D8%A7_%D9%88_%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85_%D9%87%D8%A7\"><\/span>\n<p>  11. <strong>\u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u062d\u0644\u0642\u0647 \u0647\u0627 \u0648 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0647\u0627<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u0627\u0632 \u062d\u0644\u0642\u0647 \u0647\u0627 \u0648 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0647\u0627\u06cc \u0646\u0627\u06a9\u0627\u0631\u0622\u0645\u062f \u0627\u062c\u062a\u0646\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight php\"><code><span class=\"c1\">\/\/ Instead of inefficient loops<\/span>\n<span class=\"k\">foreach<\/span> <span class=\"p\">(<\/span><span class=\"nv\">$items<\/span> <span class=\"k\">as<\/span> <span class=\"nv\">$item<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/ Process item<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"c1\">\/\/ Use optimized algorithms and data structures<\/span>\n<span class=\"nv\">$items<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">array_map<\/span><span class=\"p\">(<\/span><span class=\"s1\">'processItem'<\/span><span class=\"p\">,<\/span> <span class=\"nv\">$items<\/span><span class=\"p\">);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"12_%D8%A7%D8%B2_%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1%D9%87%D8%A7%DB%8C_%D8%AF%D8%A7%D8%AF%D9%87_%DA%A9%D8%A7%D8%B1%D8%A2%D9%85%D8%AF_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  12. <strong>\u0627\u0632 \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u06a9\u0627\u0631\u0622\u0645\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u0645\u0646\u0627\u0633\u0628 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u062e\u0648\u062f \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight php\"><code><span class=\"c1\">\/\/ Using associative arrays for quick lookups<\/span>\n<span class=\"nv\">$data<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"s1\">'key1'<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s1\">'value1'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'key2'<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s1\">'value2'<\/span><span class=\"p\">];<\/span>\n<span class=\"nv\">$value<\/span> <span class=\"o\">=<\/span> <span class=\"nv\">$data<\/span><span class=\"p\">[<\/span><span class=\"s1\">'key1'<\/span><span class=\"p\">];<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"13_%D8%A8%D9%87%DB%8C%D9%86%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_%D8%AC%D9%84%D8%B3%D9%87\"><\/span>\n<p>  13. <strong>\u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u062c\u0644\u0633\u0647<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u0627\u0632 \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u062c\u0644\u0633\u0627\u062a \u06a9\u0627\u0631\u0622\u0645\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight ini\"><code><span class=\"c\">; Use Redis for session storage\n<\/span><span class=\"py\">session.save_handler<\/span> <span class=\"p\">=<\/span> <span class=\"s\">redis<\/span>\n<span class=\"py\">session.save_path<\/span> <span class=\"p\">=<\/span> <span class=\"s\">\"tcp:\/\/localhost:6379\"<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"14_%D8%A7%D8%B2_HTTP2_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  14. <strong>\u0627\u0632 HTTP\/2 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0647\u062a\u0631 \u0627\u0632 HTTP\/2 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<ul>\n<li>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc HTTP\/2 \u062f\u0631 Nginx:\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight nginx\"><code><span class=\"k\">server<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kn\">listen<\/span> <span class=\"mi\">443<\/span> <span class=\"s\">ssl<\/span> <span class=\"s\">http2<\/span><span class=\"p\">;<\/span>\n    <span class=\"c1\"># Other SSL configuration<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"15_%D9%81%D8%B4%D8%B1%D8%AF%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_Gzip_%D8%B1%D8%A7_%D9%BE%DB%8C%D8%A7%D8%AF%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  15. <strong>\u0641\u0634\u0631\u062f\u0647 \u0633\u0627\u0632\u06cc Gzip \u0631\u0627 \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u0641\u0634\u0631\u062f\u0647 \u0633\u0627\u0632\u06cc \u067e\u0627\u0633\u062e \u0647\u0627 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0647\u0634 \u067e\u0647\u0646\u0627\u06cc \u0628\u0627\u0646\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight nginx\"><code><span class=\"k\">http<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kn\">gzip<\/span> <span class=\"no\">on<\/span><span class=\"p\">;<\/span>\n    <span class=\"kn\">gzip_types<\/span> <span class=\"nc\">text\/plain<\/span> <span class=\"nc\">text\/css<\/span> <span class=\"nc\">application\/json<\/span> <span class=\"nc\">application\/javascript<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"16_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%D9%87_%D8%AF%D8%A7%D8%B1%D8%A7%DB%8C%DB%8C_Frontend_%D8%B1%D8%A7_%D8%A8%D9%87_%D8%AD%D8%AF%D8%A7%D9%82%D9%84_%D8%A8%D8%B1%D8%B3%D8%A7%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  16. <strong>\u0627\u0646\u062f\u0627\u0632\u0647 \u062f\u0627\u0631\u0627\u06cc\u06cc Frontend \u0631\u0627 \u0628\u0647 \u062d\u062f\u0627\u0642\u0644 \u0628\u0631\u0633\u0627\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> CSS\u060c \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0648 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u062a\u0635\u0648\u06cc\u0631\u06cc \u0631\u0627 \u0628\u0647\u06cc\u0646\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"c\"># Minify CSS and JS files<\/span>\nuglifyjs script.js <span class=\"nt\">-o<\/span> script.min.js\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"17_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_%D8%B4%D8%A8%DA%A9%D9%87_%D8%AA%D8%AD%D9%88%DB%8C%D9%84_%D9%85%D8%AD%D8%AA%D9%88%D8%A7_CDN\"><\/span>\n<p>  17. <strong>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0634\u0628\u06a9\u0647 \u062a\u062d\u0648\u06cc\u0644 \u0645\u062d\u062a\u0648\u0627 (CDN)<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u0645\u062d\u062a\u0648\u0627\u06cc \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 CDN \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<ul>\n<li>CDN \u0631\u0627 \u0628\u0631\u0627\u06cc \u062f\u0627\u0631\u0627\u06cc\u06cc \u0647\u0627\u06cc \u062b\u0627\u0628\u062a \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight html\"><code><span class=\"nt\"><link\/> <span class=\"na\">rel=<\/span><span class=\"s\">\"stylesheet\"<\/span> <span class=\"na\">href=<\/span><span class=\"s\">\"https:\/\/cdn.example.com\/styles.css\"<\/span><span class=\"nt\">&gt;<\/span>\n<span class=\"nt\"><script><![CDATA[<span class=\"na\">src=]]><\/script><\/span><span class=\"s\">\"https:\/\/cdn.example.com\/scripts.js\"<\/span><span class=\"nt\">&gt;<\/span>\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"18_%D8%AB%D8%A8%D8%AA_%D8%AE%D8%B7%D8%A7_%D8%B1%D8%A7_%D9%81%D8%B9%D8%A7%D9%84_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  18. <strong>\u062b\u0628\u062a \u062e\u0637\u0627 \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u062e\u0637\u0627\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0648\u062b\u0631 \u0628\u0631\u0627\u06cc \u0627\u0634\u06a9\u0627\u0644 \u0632\u062f\u0627\u06cc\u06cc \u062b\u0628\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight ini\"><code><span class=\"c\">; Log errors to a file\n<\/span><span class=\"py\">error_log<\/span> <span class=\"p\">=<\/span> <span class=\"s\">\/var\/log\/php_errors.log<\/span>\n<span class=\"py\">log_errors<\/span> <span class=\"p\">=<\/span> <span class=\"s\">On<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"19_%D9%86%D8%B8%D8%A7%D8%B1%D8%AA_%D8%A8%D8%B1_%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF\"><\/span>\n<p>  19. <strong>\u0646\u0638\u0627\u0631\u062a \u0628\u0631 \u0639\u0645\u0644\u06a9\u0631\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u0627\u0632 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0646\u0638\u0627\u0631\u062a\u06cc \u0628\u0631\u0627\u06cc \u0631\u062f\u06cc\u0627\u0628\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<ul>\n<li>\u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc New Relic:\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"c\"># Install New Relic PHP agent<\/span>\n<span class=\"nb\">sudo <\/span>newrelic-install <span class=\"nb\">install<\/span>\n\n<span class=\"c\"># Configure New Relic in php.ini<\/span>\nnewrelic.enabled <span class=\"o\">=<\/span> <span class=\"nb\">true<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"20_%D8%A8%D9%87_%D8%B7%D9%88%D8%B1_%D9%85%D9%86%D8%B8%D9%85_%D9%86%D9%85%D8%A7%DB%8C%D9%87_%D9%88_%D9%85%D8%B9%DB%8C%D8%A7%D8%B1\"><\/span>\n<p>  20. <strong>\u0628\u0647 \u0637\u0648\u0631 \u0645\u0646\u0638\u0645 \u0646\u0645\u0627\u06cc\u0647 \u0648 \u0645\u0639\u06cc\u0627\u0631<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0627\u0646\u0648\u0646:<\/strong> \u0628\u0647 \u0637\u0648\u0631 \u0645\u062f\u0627\u0648\u0645 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0631\u0627 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u0648 \u0645\u062d\u06a9 \u0628\u0632\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644:<\/strong><\/p>\n<ul>\n<li>\u0627\u0632 Xdebug \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0647 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0647\u0627\u06cc PHP \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"c\"># Install Xdebug<\/span>\n<span class=\"nb\">sudo <\/span>pecl <span class=\"nb\">install <\/span>xdebug\n\n<span class=\"c\"># Enable Xdebug profiling in php.ini<\/span>\nxdebug.profiler_enable <span class=\"o\">=<\/span> 1\nxdebug.profiler_output_dir <span class=\"o\">=<\/span> <span class=\"s2\">\"\/tmp\/xdebug\"<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0627 \u0631\u0639\u0627\u06cc\u062a \u0627\u06cc\u0646 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0648 \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u0645\u062b\u0627\u0644 \u0647\u0627\u06cc \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0639\u0645\u0644\u06a9\u0631\u062f \u0648 \u0645\u0642\u06cc\u0627\u0633 \u067e\u0630\u06cc\u0631\u06cc \u0648\u0628 \u0633\u0627\u06cc\u062a \u0647\u0627\u06cc \u067e\u0631\u0628\u0627\u0632\u062f\u06cc\u062f \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 PHP \u0631\u0627 \u0628\u0647 \u0645\u06cc\u0632\u0627\u0646 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f.<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang \u062d\u062a\u0645\u0627! \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc PHP \u0628\u0631\u0627\u06cc \u0648\u0628\u200c\u0633\u0627\u06cc\u062a\u200c\u0647\u0627\u06cc \u067e\u0631\u0628\u0627\u0632\u062f\u06cc\u062f \u0646\u06cc\u0627\u0632\u0645\u0646\u062f \u06cc\u06a9 \u0631\u0648\u06cc\u06a9\u0631\u062f \u062c\u0627\u0645\u0639 \u0627\u0633\u062a \u06a9\u0647 \u0634\u0627\u0645\u0644 \u06a9\u06cc\u0641\u06cc\u062a \u06a9\u062f\u060c \u0645\u062f\u06cc\u0631\u06cc\u062a \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u060c \u06a9\u0634 \u06a9\u0631\u062f\u0646\u060c \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0633\u0631\u0648\u0631 \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f. \u062f\u0631 \u0632\u06cc\u0631 \u0641\u0647\u0631\u0633\u062a \u06af\u0633\u062a\u0631\u062f\u0647\u200c\u0627\u06cc \u0627\u0632 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc PHP \u0628\u0631\u0627\u06cc \u0648\u0628\u200c\u0633\u0627\u06cc\u062a\u200c\u0647\u0627\u06cc \u067e\u0631\u0628\u0627\u0632\u062f\u06cc\u062f\u060c \u0628\u0627 \u0646\u0645\u0648\u0646\u0647\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc \u062f\u0631 \u0645\u0648\u0627\u0631\u062f\u06cc \u06a9\u0647 \u0642\u0627\u0628\u0644 \u0627\u062c\u0631\u0627 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":75526,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-75525","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/75525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=75525"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/75525\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/75526"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=75525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=75525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=75525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}