{"id":7097,"date":"2026-09-29T11:00:42","date_gmt":"2026-09-29T07:30:42","guid":{"rendered":"https:\/\/parmin.cloud\/blog\/?p=7097"},"modified":"2026-09-29T11:00:42","modified_gmt":"2026-09-29T07:30:42","slug":"%d9%86%d8%b5%d8%a8-php-%d9%88-%d8%b1%d8%a7%d9%87%d8%a7%d9%86%d8%af%d8%a7%d8%b2%db%8c-%d9%85%d8%ad%db%8c%d8%b7-%d8%aa%d9%88%d8%b3%d8%b9%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%af%d8%b1-%d8%a7%d9%88","status":"publish","type":"post","link":"https:\/\/parmin.cloud\/blog\/%d9%86%d8%b5%d8%a8-php-%d9%88-%d8%b1%d8%a7%d9%87%d8%a7%d9%86%d8%af%d8%a7%d8%b2%db%8c-%d9%85%d8%ad%db%8c%d8%b7-%d8%aa%d9%88%d8%b3%d8%b9%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%af%d8%b1-%d8%a7%d9%88\/","title":{"rendered":"\u0646\u0635\u0628 PHP \u0648 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0645\u062d\u0644\u06cc \u062f\u0631 \u0627\u0648\u0628\u0648\u0646\u062a\u0648"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u0645\u0642\u062f\u0645\u0647<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PHP\u060c \u0632\u0628\u0627\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u0646\u0648\u06cc\u0633\u06cc \u0633\u0645\u062a-\u0633\u0631\u0648\u0631 \u0645\u062d\u0628\u0648\u0628 \u0648 \u0645\u062a\u0646-\u0628\u0627\u0632 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0648\u0628 \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0648 \u0628\u062e\u0634 \u0642\u0627\u0628\u0644-\u062a\u0648\u062c\u0647\u06cc \u0627\u0632 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u2014from \u0648\u0628\u0644\u0627\u06af\u0647\u0627 \u0648 \u0633\u0627\u06cc\u062a\u0647\u0627\u06cc \u0641\u0631\u0648\u0634\u06af\u0627\u0647\u06cc \u062a\u0627 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u0647\u0627\u06cc \u0628\u0632\u0631\u06af\u0645\u0642\u06cc\u0627\u0633\u2014\u0631\u0627 \u062a\u063a\u0630\u06cc\u0647 \u0645\u06cc\u06a9\u0646\u062f. \u0628\u0627 \u0647\u0631 Release \u062c\u062f\u06cc\u062f\u060c PHP \u06a9\u0627\u0631\u0627\u06cc\u06cc\u060c \u0627\u0645\u0646\u06cc\u062a \u0648 \u0642\u0627\u0628\u0644\u06cc\u062a\u0647\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0645\u062f\u0631\u0646\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u06a9\u0646\u062f \u062a\u0627 \u062a\u0648\u0633\u0639\u0647\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0646\u0631\u0645\u0627\u0641\u0632\u0627\u0631 \u0645\u0642\u0627\u0648\u0645 \u0648 \u0645\u0642\u06cc\u0627\u0633\u067e\u0630\u06cc\u0631 \u0628\u0633\u0627\u0632\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PHP 8.1 \u06cc\u06a9 Release \u067e\u0627\u06cc\u062f\u0627\u0631 \u0648 \u0628\u0644\u0646\u062f\u0645\u062f\u062a-\u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc-\u0634\u062f\u0647 \u0628\u0648\u062f\u061b \u0627\u0645\u0627 \u062f\u0631 \u062f\u0633\u0627\u0645\u0628\u0631 \u06f2\u06f0\u06f2\u06f5 \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0639\u0645\u0631 (EOL) \u0631\u0633\u06cc\u062f. \u0627\u06cc\u0646 \u0646\u0633\u062e\u0647 \u0642\u0627\u0628\u0644\u06cc\u062a\u0647\u0627 \u0648 \u0648\u06cc\u0698\u06af\u06cc\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0632\u0628\u0627\u0646 \u0631\u0627\u2014to\u200c\u0647\u0645\u0631\u0627\u0647 \u062d\u0641\u0638 \u0642\u0627\u0628\u0644\u06cc\u062a \u0627\u0637\u0645\u06cc\u0646\u0627\u0646\u2014\u0645\u06cc\u0622\u0648\u0631\u062f. \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0631\u0627 \u0628\u0631\u0627\u06cc PHP 8.3\u2014which \u062f\u0631 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 24.04 LTS \u067e\u06cc\u0634\u0641\u0631\u0636 \u0627\u0633\u062a\u2014\u0628\u0647\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u06a9\u0631\u062f\u0647\u0627\u06cc\u0645\u061b \u0627\u0645\u0627 \u0645\u0631\u0627\u062d\u0644 \u0628\u0631\u0627\u06cc PHP 8.1 \u0647\u0645 \u0647\u0645\u0627\u0646 \u0627\u0633\u062a\u2014\u0641\u0642\u0637 \u0634\u0645\u0627\u0631\u0647 \u0646\u0633\u062e\u0647 \u0631\u0627 \u062f\u0631 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 tutorial \u0634\u0645\u0627 \u0631\u0627 \u062f\u0631 \u0646\u0635\u0628 PHP \u062f\u0631 \u0627\u0648\u0628\u0648\u0646\u062a\u0648\u060c \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0622\u0646 \u0628\u0627 Apache \u06cc\u0627 Nginx\u060c \u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc \u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u0647\u0627\u06cc \u0636\u0631\u0648\u0631\u06cc PHP \u0648 \u0646\u0635\u0628 Composer \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u0647\u0627 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u0645\u06cc\u06a9\u0646\u062f. \u0647\u0645\u200c\u0686\u0646\u06cc\u0646 \u06cc\u0627\u062f \u0645\u06cc\u06af\u06cc\u0631\u06cc\u062f \u0686\u0637\u0648\u0631 \u0646\u0635\u0628\u200c\u062a\u0627\u0646 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u0648 \u0645\u0633\u0627\u0626\u0644 \u0631\u0627\u06cc\u062c \u0631\u0627 \u0639\u06cc\u0628\u200c\u06cc\u0627\u0628\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u0647\u0627\u06cc PHP \u062e\u0648\u062f \u0631\u0627 \u0627\u0632 \u06af\u06cc\u062a\u200c\u0647\u0627\u0628 \u0631\u0648\u06cc \u067e\u0644\u062a\u0641\u0631\u0645 \u0627\u067e \u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f \u062f\u06cc\u067e\u0644\u0648\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u0645\u0642\u06cc\u0627\u0633\u067e\u0630\u06cc\u0631\u06cc \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0631\u0627 \u0628\u0647 \u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f \u0628\u0633\u067e\u0627\u0631\u06cc\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0646\u06a9\u0627\u062a \u06a9\u0644\u06cc\u062f\u06cc<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0646\u0635\u0628 PHP \u062f\u0631 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 24.04:<\/strong> \u0627\u0648\u0628\u0648\u0646\u062a\u0648 24.04 LTS \u0634\u0627\u0645\u0644 PHP 8.3 \u062f\u0631 \u0645\u062e\u0627\u0632\u0646 \u067e\u06cc\u0634\u0641\u0631\u0636 \u0627\u0633\u062a\u2014to\u200c\u0647\u0645\u0631\u0627\u0647 \u0646\u0635\u0628 \u0646\u0633\u062e\u0647 \u067e\u0627\u06cc\u062f\u0627\u0631 \u0648 \u0628\u0644\u0646\u062f\u0645\u062f\u062a-\u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc-\u0634\u062f\u0647 \u0628\u0627 apt\u2014\u0628\u062f\u0648\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 PPA\u0647\u0627\u06cc \u0634\u062e\u0635-\u062b\u0627\u0644\u062b. \u0627\u06cc\u0646\u060c \u0628\u0647\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc\u0647\u0627\u06cc \u0642\u0627\u0628\u0644-\u067e\u06cc\u0634\u0628\u06cc\u0646\u06cc\u060c \u0648\u0635\u0644\u0647\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0648 \u0633\u0627\u0632\u06af\u0627\u0631\u06cc \u0628\u0627 \u0641\u0631\u06cc\u0645\u0648\u0631\u06a9\u0647\u0627\u06cc \u0645\u062f\u0631\u0646 PHP \u0631\u0627 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u06a9\u0646\u062f.<\/li>\n\n\n\n<li><strong>\u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u0647\u0627\u06cc \u0636\u0631\u0648\u0631\u06cc PHP \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647\u0647\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc:<\/strong> \u0628\u06cc\u0634\u062a\u0631 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u0647\u0627\u06cc PHP\u0650 \u06a9\u0644\u0627\u0633-\u067e\u0631\u0648\u062f\u0627\u06a9\u0634\u0646 \u0628\u0647 \u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u0647\u0627\u06cc\u06cc \u0645\u062b\u0644 mysql\u060c curl\u060c xml\u060c mbstring\u060c zip\u060c gd \u0648 bcmath \u062a\u06a9\u06cc\u0647 \u062f\u0627\u0631\u0646\u062f. \u0646\u0635\u0628 \u0632\u0648\u062f\u0647\u0646\u06af\u0627\u0645 \u0627\u06cc\u0646\u0647\u0627 \u0627\u0632 \u062e\u0637\u0627\u0647\u0627\u06cc \u0632\u0645\u0627\u0646-\u0627\u062c\u0631\u0627 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u0633\u0627\u0632\u06af\u0627\u0631\u06cc \u0628\u0627 \u0641\u0631\u06cc\u0645\u0648\u0631\u06a9\u0647\u0627\u06cc\u06cc \u0645\u062b\u0644 Laravel\u060c Symfony \u0648 \u0648\u0631\u062f\u067e\u0631\u0633 \u0631\u0627 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u06a9\u0646\u062f.<\/li>\n\n\n\n<li><strong>\u0627\u0646\u062a\u062e\u0627\u0628 Apache \u06cc\u0627 Nginx \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 PHP:<\/strong> Apache \u0645\u06cc\u062a\u0648\u0627\u0646\u062f PHP \u0631\u0627 \u0645\u0633\u062a\u0642\u06cc\u0645 \u0628\u0627 mod_php \u0627\u062c\u0631\u0627 \u06a9\u0646\u062f\u061b \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 Nginx \u0628\u0647 PHP-FPM \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0647\u0627 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f. \u0647\u0631 \u062f\u0648 \u0631\u0648\u06cc\u06a9\u0631\u062f \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0645\u062d\u0644\u06cc \u062e\u0648\u0628 \u06a9\u0627\u0631 \u0645\u06cc\u06a9\u0646\u0646\u062f\u061b \u0627\u0645\u0627 PHP-FPM \u0645\u062d\u06cc\u0637\u0647\u0627\u06cc \u067e\u0631\u0648\u062f\u0627\u06a9\u0634\u0646 \u0645\u062f\u0631\u0646 \u0631\u0627 \u0646\u0632\u062f\u06cc\u06a9\u062a\u0631 \u0645\u0646\u0639\u06a9\u0633 \u06a9\u0631\u062f\u0647 \u0648 \u0632\u06cc\u0631 \u0628\u0627\u0631 \u0628\u0647\u062a\u0631 Scale \u0645\u06cc\u0634\u0648\u062f.<\/li>\n\n\n\n<li><strong>Composer \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0628\u0646\u06cc\u0627\u062f \u0631\u0648\u0646\u062f\u0647\u0627\u06cc \u06a9\u0627\u0631\u06cc \u0645\u062f\u0631\u0646 PHP:<\/strong> Composer \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0631\u0627\u2014from \u0637\u0631\u06cc\u0642 composer.json \u0648 composer.lock\u2014\u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0631\u062f\u0647 \u0648 Build\u0647\u0627\u06cc \u0633\u0627\u0632\u06af\u0627\u0631 \u0628\u06cc\u0646 \u0645\u0627\u0634\u06cc\u0646\u0647\u0627 \u0631\u0627 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u06a9\u0646\u062f. \u0628\u0631\u0627\u06cc \u0646\u0635\u0628 \u0641\u0631\u06cc\u0645\u0648\u0631\u06a9\u0647\u0627\u060c \u062a\u0648\u0644\u06cc\u062f Autoloader\u0647\u0627 \u0648 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0646\u0633\u062e\u0647\u0647\u0627\u06cc \u0642\u0627\u0628\u0644-\u0627\u0639\u062a\u0645\u0627\u062f \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0631 \u067e\u0631\u0648\u0698\u0647\u0647\u0627\u06cc \u06af\u0631\u0648\u0647\u06cc PHP \u0636\u0631\u0648\u0631\u06cc \u0627\u0633\u062a.<\/li>\n\n\n\n<li><strong>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc PHP \u0645\u062e\u0635\u0648\u0635 \u062a\u0648\u0633\u0639\u0647:<\/strong> \u0645\u062d\u06cc\u0637\u0647\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0627\u0632 \u06af\u0632\u0627\u0631\u0634 \u062e\u0637\u0627\u06cc \u067e\u0631\u062d\u0631\u0641\u060c \u0645\u062d\u062f\u0648\u062f\u0647 \u062d\u0627\u0641\u0638\u0647 \u0628\u0627\u0644\u0627\u062a\u0631 \u0648 \u0632\u0645\u0627\u0646\u0647\u0627\u06cc \u0627\u062c\u0631\u0627 \u0637\u0648\u0644\u0627\u0646\u06cc\u062a\u0631 \u0628\u0647\u0631\u0647 \u0645\u06cc\u0628\u0631\u0646\u062f. \u062a\u0646\u0638\u06cc\u0645 \u0627\u06cc\u0646 \u0645\u0642\u0627\u062f\u06cc\u0631 \u062f\u0631 php.ini \u06a9\u0645\u06a9 \u0645\u06cc\u06a9\u0646\u062f \u0628\u0627\u06af\u0647\u0627 \u062f\u0631 \u062d\u06cc\u0646 \u062a\u0648\u0633\u0639\u0647 \u0633\u0631\u06cc\u0639 \u0646\u0645\u0627\u06cc\u0627\u0646 \u0634\u0648\u0646\u062f\u2014\u0627\u0645\u0627 \u0647\u0645\u06cc\u0634\u0647 \u0628\u0627\u06cc\u062f \u0628\u0631\u0627\u06cc \u062f\u06cc\u067e\u0644\u0648\u06cc \u067e\u0631\u0648\u062f\u0627\u06a9\u0634\u0646 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f\u0647 \u0634\u0648\u0646\u062f.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u062a\u06a9\u0645\u06cc\u0644 \u0627\u06cc\u0646 tutorial \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0648\u0627\u0631\u062f \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0645\u0627\u0634\u06cc\u0646 \u0645\u062d\u0644\u06cc \u06cc\u0627 \u0633\u0631\u0648\u0631 \u0645\u062c\u0627\u0632\u06cc \u0627\u062c\u0631\u0627\u06a9\u0646\u0646\u062f\u0647 \u0627\u0648\u0628\u0648\u0646\u062a\u0648<\/strong> (\u0633\u0627\u0632\u06af\u0627\u0631 \u0628\u0627 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 24.04 LTS \u0648 \u0646\u0633\u062e\u0647\u0647\u0627\u06cc \u0628\u0639\u062f\u06cc)<\/li>\n\n\n\n<li><strong>\u062f\u0633\u062a\u0631\u0633\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a\u06cc (sudo)<\/strong> \u0628\u0647 \u0645\u0627\u0634\u06cc\u0646<\/li>\n\n\n\n<li><strong>\u0627\u062a\u0635\u0627\u0644 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a \u0641\u0639\u0627\u0644<\/strong><\/li>\n\n\n\n<li><strong>\u0622\u0634\u0646\u0627\u06cc\u06cc \u067e\u0627\u06cc\u0647 \u0628\u0627 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u0633\u0631\u0648\u0631 \u0627\u0648\u0628\u0648\u0646\u062a\u0648\u06cc \u062c\u062f\u06cc\u062f\u06cc \u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc\u06a9\u0646\u06cc\u062f\u060c \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0633\u0631\u0648\u0631 \u0628\u0627 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u062f\u0631 \u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u06af\u0627\u0645 \u06f1 \u2014 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc PHP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0646\u0635\u0628 \u0648 \u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc \u0631\u0627 \u0631\u0648\u06cc \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 \u06a9\u0627\u0645\u0644 \u0645\u06cc\u06a9\u0646\u06cc\u062f\u2014which \u0631\u0648\u0634 \u063a\u06cc\u0631-\u06af\u0631\u0627\u0641\u06cc\u06a9\u06cc \u0628\u0631\u0627\u06cc \u062a\u0639\u0627\u0645\u0644 \u0628\u0627 \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u0627\u0633\u062a. \u06cc\u0639\u0646\u06cc\u2014to\u200c\u062c\u0627\u06cc \u06a9\u0644\u06cc\u06a9 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647\u0647\u0627\u2014\u0645\u062a\u0646 \u062a\u0627\u06cc\u067e \u06a9\u0631\u062f\u0647 \u0648 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0645\u062a\u0646 \u0628\u0627\u0632\u062e\u0648\u0631\u062f \u0645\u06cc\u06af\u06cc\u0631\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0637 \u0641\u0631\u0645\u0627\u0646\u2014which \u0634\u0644 \u06cc\u0627 Terminal \u0647\u0645 \u0646\u0627\u0645\u06cc\u062f\u0647 \u0645\u06cc\u0634\u0648\u062f\u2014\u0645\u06cc\u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u0627\u0635\u0644\u0627\u062d \u0648 \u062e\u0648\u062f\u06a9\u0627\u0631\u0633\u0627\u0632\u06cc \u0648\u0638\u0627\u06cc\u0641 \u0631\u0648\u0632\u0645\u0631\u0647 \u06a9\u0645\u06a9 \u06a9\u0631\u062f\u0647 \u0648 \u0627\u0628\u0632\u0627\u0631 \u0636\u0631\u0648\u0631\u06cc \u062a\u0648\u0633\u0639\u0647\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0646\u0631\u0645\u0627\u0641\u0632\u0627\u0631 \u0627\u0633\u062a. \u0645\u0642\u0627\u0644\u0647 \u00ab\u0645\u0642\u062f\u0645\u0647\u0627\u06cc \u0628\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0644\u06cc\u0646\u0648\u06a9\u0633\u00bb \u062f\u0631 \u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f \u0645\u06cc\u062a\u0648\u0627\u0646\u062f \u0634\u0645\u0627 \u0631\u0627 \u0628\u0627 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0628\u0647\u062a\u0631 \u062c\u0647\u062a\u062f\u0647\u06cc \u06a9\u0646\u062f.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u0646\u06a9\u062a\u0647:<\/strong> \u0627\u06af\u0631 \u0628\u0627 \u0627\u0648\u0628\u0648\u0646\u062a\u0648\u06cc \u062c\u062f\u06cc\u062f \u06a9\u0627\u0631 \u0645\u06cc\u06a9\u0646\u06cc\u062f\u060c \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u062f\u0631 \u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u0633\u06cc\u0633\u062a\u0645\u06cc \u0627\u0636\u0627\u0641\u06cc \u0645\u0631\u0648\u0631 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u0648\u0628\u0648\u0646\u062a\u0648\u060c \u0628\u0631\u0646\u0627\u0645\u0647 Terminal \u0631\u0627 \u0628\u0627 \u06a9\u0644\u06cc\u06a9 \u0631\u0648\u06cc \u0622\u06cc\u06a9\u0648\u0646 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u062f\u0631 \u06af\u0648\u0634\u0647 \u0628\u0627\u0644\u0627-\u0686\u067e \u0635\u0641\u062d\u0647 \u0648 \u062a\u0627\u06cc\u067e terminal \u062f\u0631 \u0646\u0648\u0627\u0631 \u062c\u0633\u062a\u062c\u0648 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f. \u0631\u0648\u06cc \u0622\u06cc\u06a9\u0648\u0646 Terminal \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f. \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646\u060c \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc CTRL\u060c ALT \u0648 T \u0631\u0627 \u0647\u0645\u0632\u0645\u0627\u0646 \u0628\u0632\u0646\u06cc\u062f.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u0646\u06a9\u062a\u0647:<\/strong> \u062f\u0631 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 24.04 LTS\u060c PHP 8.3 \u062f\u0631 \u0645\u062e\u0627\u0632\u0646 \u067e\u06cc\u0634\u0641\u0631\u0636 \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a. \u0648\u0642\u062a\u06cc PHP \u0631\u0627 \u0628\u062f\u0648\u0646 \u062a\u0639\u06cc\u06cc\u0646 \u0646\u0633\u062e\u0647 \u0646\u0635\u0628 \u0645\u06cc\u06a9\u0646\u06cc\u062f\u060c \u0633\u06cc\u0633\u062a\u0645 \u0628\u0647\u200c\u0637\u0648\u0631 \u067e\u06cc\u0634\u0641\u0631\u0636 PHP 8.3 \u0646\u0635\u0628 \u0645\u06cc\u06a9\u0646\u062f.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u0628\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0686\u0646\u062f \u0646\u0633\u062e\u0647 PHP \u06cc\u0627 \u0646\u0635\u0628 \u0646\u0633\u062e\u0647 \u0645\u062a\u0641\u0627\u0648\u062a \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f\u060c \u0627\u0632 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc\u06cc \u0645\u062b\u0644 phpenv \u06cc\u0627 phpbrew \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0646\u0633\u062e\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0646\u0635\u0628 PHP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0631\u0627 \u0628\u0631\u0627\u06cc \u0628\u0647\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0641\u0647\u0631\u0633\u062a \u067e\u06a9\u06cc\u062c\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u0648 \u0633\u067e\u0633 \u0646\u0635\u0628 PHP \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install --no-install-recommends php8.3<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0644\u06af <code>--no-install-recommends<\/code> \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u06a9\u0646\u062f \u067e\u06a9\u06cc\u062c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631\u2014\u0645\u062b\u0644 \u0648\u0628\u0633\u0631\u0648\u0631 Apache\u2014\u0646\u0635\u0628 \u0646\u0634\u0648\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0646\u0633\u062e\u0647 PHP \u0631\u0627 \u0686\u06a9 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>php -v<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc \u0634\u0628\u06cc\u0647 \u0627\u06cc\u0646 \u0645\u06cc\u06af\u06cc\u0631\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PHP 8.3.6-1ubuntu8.3 (cli) (built: Jul 15 2025 12:11:22) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.6, Copyright (c) Zend Technologies\n    with Zend OPcache v8.3.6-1ubuntu8.3, Copyright (c), by Zend Technologies<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0646\u0635\u0628 \u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u0647\u0627\u06cc \u0636\u0631\u0648\u0631\u06cc PHP<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install -y php8.3-cli php8.3-common php8.3-mysql php8.3-zip php8.3-gd php8.3-mbstring php8.3-curl php8.3-xml php8.3-bcmath<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0645\u0627\u0698\u0648\u0644\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u0646\u0635\u0628 \u0645\u06cc\u06a9\u0646\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>php8.3-cli<\/strong> \u2014 \u0645\u0641\u0633\u0631 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646\u061b \u0628\u0631\u0627\u06cc \u062a\u0633\u062a \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u0647\u0627\u06cc PHP \u0627\u0632 \u0634\u0644 \u06cc\u0627 Scripting \u0639\u0645\u0648\u0645\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f \u062f\u0627\u0631\u062f<\/li>\n\n\n\n<li><strong>php8.3-common<\/strong> \u2014 \u0645\u0633\u062a\u0646\u062f\u0627\u062a\u060c \u0645\u062b\u0627\u0644\u0647\u0627 \u0648 \u0645\u0627\u0698\u0648\u0644\u0647\u0627\u06cc \u0631\u0627\u06cc\u062c PHP<\/li>\n\n\n\n<li><strong>php8.3-mysql<\/strong> \u2014 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0627 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633\u0647\u0627\u06cc MySQL<\/li>\n\n\n\n<li><strong>php8.3-zip<\/strong> \u2014 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0627 \u0641\u0627\u06cc\u0644\u0647\u0627\u06cc \u0641\u0634\u0631\u062f\u0647<\/li>\n\n\n\n<li><strong>php8.3-gd<\/strong> \u2014 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0627 \u062a\u0635\u0627\u0648\u06cc\u0631<\/li>\n\n\n\n<li><strong>php8.3-mbstring<\/strong> \u2014 \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0631\u0634\u062a\u0647\u0647\u0627\u06cc \u063a\u06cc\u0631-ASCII (\u0645\u062b\u0644 \u0641\u0627\u0631\u0633\u06cc)<\/li>\n\n\n\n<li><strong>php8.3-curl<\/strong> \u2014 \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0647\u0627\u06cc HTTP \u062f\u0631 PHP<\/li>\n\n\n\n<li><strong>php8.3-xml<\/strong> \u2014 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0627 \u062f\u0627\u062f\u0647\u0647\u0627\u06cc XML<\/li>\n\n\n\n<li><strong>php8.3-bcmath<\/strong> \u2014 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0627 \u0627\u0639\u062f\u0627\u062f Float \u0628\u0627 \u062f\u0642\u062a \u0628\u0627\u0644\u0627<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u0641\u0627\u06cc\u0644\u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc PHP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0627\u06cc\u0644\u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc PHP \u062f\u0631 <code>\/etc\/php\/8.3\/<\/code> \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u0634\u0648\u0646\u062f. \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0635\u0644\u06cc \u06cc\u0639\u0646\u06cc <code>php.ini<\/code> \u2014\u0628\u0633\u062a\u0647 \u0628\u0647 \u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc\u2014\u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u0647\u0627\u06cc \u0645\u062a\u0641\u0627\u0648\u062a\u06cc \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0627\u0634\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc CLI:<\/strong> <code>\/etc\/php\/8.3\/cli\/php.ini<\/code><\/li>\n\n\n\n<li><strong>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Apache:<\/strong> <code>\/etc\/php\/8.3\/apache2\/php.ini<\/code><\/li>\n\n\n\n<li><strong>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc PHP-FPM:<\/strong> <code>\/etc\/php\/8.3\/fpm\/php.ini<\/code><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0623\u06cc\u06cc\u062f \u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u0647\u0627\u06cc \u0646\u0635\u0628\u200c\u0634\u062f\u0647<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>php -m<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u0647\u0645\u0647 \u0645\u0627\u0698\u0648\u0644\u0647\u0627\u06cc \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc-\u0634\u062f\u0647 PHP \u0631\u0627 \u0641\u0647\u0631\u0633\u062a \u0645\u06cc\u06a9\u0646\u062f. \u0627\u06af\u0631 <code>php -v<\/code> \u0646\u0633\u062e\u0647\u0627\u06cc \u063a\u06cc\u0631 \u0627\u0632 \u0627\u0646\u062a\u0638\u0627\u0631 \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0686\u0646\u062f \u0646\u0633\u062e\u0647 PHP \u0646\u0635\u0628 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. \u0628\u0631\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f \u0645\u0634\u062e\u0635\u0650 PHP 8.3 \u0627\u0632 <code>php8.3 -v<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u06af\u0627\u0645 \u06f2 \u2014 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc PHP \u0628\u0627 Apache<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u0627\u0698\u0648\u0644 PHP \u06cc\u0639\u0646\u06cc Apache \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install libapache2-mod-php8.3<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u0627\u0698\u0648\u0644 \u0631\u0627 \u0641\u0639\u0627\u0644 \u0648 Apache \u0631\u0627 \u0631\u06cc\u0627\u0633\u062a\u0627\u0631\u062a \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo a2enmod php8.3\nsudo systemctl restart apache2<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062f\u0631\u06a9 mod_php<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u0627\u0698\u0648\u0644 mod_php\u060c PHP \u0631\u0627 \u0645\u0633\u062a\u0642\u06cc\u0645 \u062f\u0631\u0648\u0646 \u067e\u0631\u0648\u0633\u0647 Apache \u062c\u0627\u0633\u0627\u0632\u06cc \u0645\u06cc\u06a9\u0646\u062f. \u0648\u0642\u062a\u06cc Apache \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc \u0628\u0631\u0627\u06cc \u0641\u0627\u06cc\u0644 PHP \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u062f\u060c \u0622\u0646 \u0631\u0627 \u0628\u0627 \u0645\u0641\u0633\u0631 PHP\u0650 \u062c\u0627\u0633\u0627\u0632\u06cc-\u0634\u062f\u0647 \u062f\u0631\u0648\u0646 \u067e\u0631\u0648\u0633\u0647 \u067e\u0631\u062f\u0627\u0632\u0634 \u0645\u06cc\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0628\u0627 Nginx\u2014which \u0633\u0631\u0648\u06cc\u0633 PHP-FPM \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0644\u0627\u0632\u0645 \u062f\u0627\u0631\u062f\u2014\u0645\u062a\u0641\u0627\u0648\u062a \u0627\u0633\u062a. \u062f\u0633\u062a\u0648\u0631 a2enmod \u062f\u0631 <code>\/etc\/apache2\/mods-enabled\/<\/code> Symlink\u0627\u06cc \u0633\u0627\u062e\u062a\u0647 \u062a\u0627 \u0645\u0627\u0698\u0648\u0644 \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0627 \u0633\u0627\u062e\u062a \u0641\u0627\u06cc\u0644 \u062a\u0633\u062a\u06cc \u062f\u0631 Document Root \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Apache (\u0645\u0639\u0645\u0648\u0644\u0627\u064b <code>\/var\/www\/html<\/code>)\u060c \u067e\u0631\u062f\u0627\u0632\u0634 \u062f\u0631\u0633\u062a PHP \u062a\u0648\u0633\u0637 Apache \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"&lt;?php phpinfo(); ?&gt;\" | sudo tee \/var\/www\/html\/info.php<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0645\u0631\u0648\u0631\u06af\u0631 <code>http:\/\/localhost\/info.php<\/code> \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f. \u0628\u0627\u06cc\u062f \u0635\u0641\u062d\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc PHP \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f. \u0628\u0639\u062f \u0627\u0632 \u062a\u0633\u062a \u0628\u0631\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a \u062d\u0630\u0641\u0634 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo rm \/var\/www\/html\/info.php<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0639\u06cc\u0628\u200c\u06cc\u0627\u0628\u06cc \u0645\u0633\u0627\u0626\u0644 PHP \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Apache<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0627\u06af\u0631 Apache \u0628\u0639\u062f \u0627\u0632 \u0646\u0635\u0628 mod_php \u0628\u0627\u0644\u0627 \u0646\u0645\u06cc\u0622\u06cc\u062f:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tail -20 \/var\/log\/apache2\/error.log<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u0633\u0627\u0626\u0644 \u0631\u0627\u06cc\u062c \u0634\u0627\u0645\u0644:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0645\u0627\u0698\u0648\u0644\u0647\u0627\u06cc PHP \u0645\u062a\u0646\u0627\u0642\u0636:<\/strong> \u0627\u06af\u0631 \u0686\u0646\u062f \u0646\u0633\u062e\u0647 PHP \u062f\u0627\u0631\u06cc\u062f\u060c \u0627\u0648\u0644 \u0645\u0627\u0698\u0648\u0644\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631 \u0631\u0627 \u0628\u0627 <code>sudo a2dismod php8.1<\/code> \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f<\/li>\n\n\n\n<li><strong>\u062e\u0637\u0627\u0647\u0627\u06cc \u0633\u06cc\u0646\u062a\u06a9\u0633 \u062f\u0631 \u06a9\u0627\u0646\u0641\u06cc\u06af Apache:<\/strong> \u0628\u0627 <code>sudo apache2ctl configtest<\/code> \u0686\u06a9 \u06a9\u0646\u06cc\u062f<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0627\u06af\u0631 localhost \u0631\u0627 \u0628\u0627\u0632 \u0645\u06cc\u06a9\u0646\u06cc\u062f \u0648 \u00abIt works!\u00bb \u0645\u06cc\u0628\u06cc\u0646\u06cc\u062f \u0627\u0645\u0627 \u0641\u0627\u06cc\u0644\u0647\u0627\u06cc PHP \u0645\u062a\u0646 \u0633\u0627\u062f\u0647 \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc\u06cc\u0627\u0628\u0646\u062f:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u06cc\u0639\u0646\u06cc Apache \u06cc\u0639\u0646\u06cc PHP \u0631\u0627 \u067e\u0631\u062f\u0627\u0632\u0634 \u0646\u0645\u06cc\u06a9\u0646\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apache2ctl -M | grep php<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u0686\u06cc\u0632\u06cc \u0638\u0627\u0647\u0631 \u0646\u0634\u062f\u060c \u0645\u0627\u0698\u0648\u0644 Load \u0646\u0634\u062f\u0647:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo a2enmod php8.3\nsudo systemctl restart apache2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0627\u06af\u0631 \u062e\u0637\u0627\u06cc 403 Forbidden \u0645\u06cc\u06af\u06cc\u0631\u06cc\u062f:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u062c\u0648\u0632\u0647\u0627\u06cc \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0686\u06a9 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chown -R www-data:www-data \/var\/www\/html\nsudo chmod -R 755 \/var\/www\/html<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u0646\u06a9\u062a\u0647 \u0627\u0645\u0646\u06cc\u062a\u06cc:<\/strong> \u062a\u0627\u0628\u0639 phpinfo() \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0633\u06cc\u0633\u062a\u0645 \u0631\u0627 \u0627\u0641\u0634\u0627 \u0645\u06cc\u06a9\u0646\u062f. \u0647\u0631\u06af\u0632 \u0641\u0627\u06cc\u0644\u0647\u0627\u06cc \u062d\u0627\u0648\u06cc phpinfo() \u0631\u0627 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u067e\u0631\u0648\u062f\u0627\u06a9\u0634\u0646 \u0628\u0627\u0642\u06cc \u0646\u06af\u0630\u0627\u0631\u06cc\u062f.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Virtual Host \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Apache<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0645\u062d\u0644\u06cc \u0628\u0627 \u062f\u0627\u0645\u0646\u0647\u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc\u060c Virtual Host \u0628\u0633\u0627\u0632\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/apache2\/sites-available\/example.local.conf<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u06a9\u0627\u0646\u0641\u06cc\u06af \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;VirtualHost *:80&gt;\n    ServerName example.local\n    DocumentRoot \/var\/www\/example.local\n    &lt;Directory \/var\/www\/example.local&gt;\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    &lt;\/Directory&gt;\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0628\u0633\u0627\u0632\u06cc\u062f\u060c \u0633\u0627\u06cc\u062a \u0631\u0627 \u0641\u0639\u0627\u0644 \u0648 Apache \u0631\u0627 \u0631\u06cc\u0627\u0633\u062a\u0627\u0631\u062a \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir -p \/var\/www\/example.local\nsudo chown -R www-data:www-data \/var\/www\/example.local\nsudo a2ensite example.local.conf\nsudo systemctl restart apache2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0627\u0645\u0646\u0647 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0645\u062d\u0644\u06cc \u0628\u0647 \u0641\u0627\u06cc\u0644 <code>\/etc\/hosts<\/code> \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"127.0.0.1 example.local\" | sudo tee -a \/etc\/hosts<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u0627\u0646\u062a\u062e\u0627\u0628 \u0628\u06cc\u0646 Apache \u0648 Nginx<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u0648\u06cc\u0698\u06af\u06cc<\/th><th>Apache \u0628\u0627 mod_php<\/th><th>Nginx \u0628\u0627 PHP-FPM<\/th><\/tr><\/thead><tbody><tr><td>\u067e\u0631\u062f\u0627\u0632\u0634 PHP<\/td><td>\u062c\u0627\u0633\u0627\u0632\u06cc-\u0634\u062f\u0647 \u062f\u0631 \u067e\u0631\u0648\u0633\u0647 Apache<\/td><td>\u0633\u0631\u0648\u06cc\u0633 PHP-FPM \u062c\u062f\u0627\u06af\u0627\u0646\u0647<\/td><\/tr><tr><td>\u0645\u0635\u0631\u0641 \u062d\u0627\u0641\u0638\u0647<\/td><td>\u0628\u0627\u0644\u0627\u062a\u0631 (PHP \u062f\u0631 \u0647\u0631 \u067e\u0631\u0648\u0633\u0647 Apache)<\/td><td>\u067e\u0627\u06cc\u06cc\u0646\u062a\u0631 (Pool \u067e\u0631\u0648\u0633\u0647 \u062c\u062f\u0627\u06af\u0627\u0646\u0647)<\/td><\/tr><tr><td>\u06a9\u0627\u0631\u0627\u06cc\u06cc<\/td><td>\u0628\u0631\u0627\u06cc \u062a\u0631\u0627\u0641\u06cc\u06a9 \u06a9\u0645-\u0645\u062a\u0648\u0633\u0637 \u062e\u0648\u0628<\/td><td>\u0628\u0631\u0627\u06cc \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0628\u0627\u0644\u0627 \u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0647\u0627\u06cc \u0647\u0645\u200c\u0632\u0645\u0627\u0646 \u0628\u0647\u062a\u0631<\/td><\/tr><tr><td>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc<\/td><td>\u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0633\u0627\u062f\u0647\u062a\u0631<\/td><td>\u067e\u06cc\u0686\u06cc\u062f\u0647\u062a\u0631 (\u06a9\u0627\u0646\u0641\u06cc\u06af PHP-FPM \u0644\u0627\u0632\u0645)<\/td><\/tr><tr><td>\u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc .htaccess<\/td><td>\u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0646\u06cc\u062a\u06cc\u0648<\/td><td>\u0628\u062f\u0648\u0646 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc (\u0628\u0627\u06cc\u062f \u062f\u0631 Server Block \u06a9\u0627\u0646\u0641\u06cc\u06af \u06a9\u0646\u06cc\u062f)<\/td><\/tr><tr><td>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u067e\u0631\u0648\u062f\u0627\u06a9\u0634\u0646<\/td><td>\u0631\u0627\u06cc\u062c \u062f\u0631 \u0647\u0627\u0633\u062a \u0627\u0634\u062a\u0631\u0627\u06a9\u06cc<\/td><td>\u0631\u0627\u06cc\u062c \u062f\u0631 \u062f\u06cc\u067e\u0644\u0648\u06cc\u0647\u0627\u06cc \u0645\u062f\u0631\u0646<\/td><\/tr><tr><td>\u0645\u0646\u062d\u0646\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc<\/td><td>\u0628\u0631\u0627\u06cc \u0645\u0628\u062a\u062f\u06cc\u0627\u0646 \u0622\u0633\u0627\u0646\u062a\u0631<\/td><td>\u0633\u0631\u0628\u0627\u0644\u0627\u062a\u0631<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0686\u0647 \u0648\u0642\u062a Apache \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0628\u0627 Apache \u0622\u0634\u0646\u0627 \u0647\u0633\u062a\u06cc\u062f \u06cc\u0627 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc .htaccess \u0644\u0627\u0632\u0645 \u062f\u0627\u0631\u06cc\u062f<\/li>\n\n\n\n<li>\u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0633\u0627\u062f\u0647\u0627\u06cc \u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc\u06a9\u0646\u06cc\u062f<\/li>\n\n\n\n<li>\u0628\u0627 \u0641\u0631\u06cc\u0645\u0648\u0631\u06a9\u0647\u0627\u06cc\u06cc \u06a9\u0627\u0631 \u0645\u06cc\u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0631\u0648\u06cc .htaccess \u062d\u0633\u0627\u0628\u06cc \u062a\u06a9\u06cc\u0647 \u062f\u0627\u0631\u0646\u062f (\u0628\u0631\u062e\u06cc \u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc\u0647\u0627\u06cc \u0648\u0631\u062f\u067e\u0631\u0633)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0686\u0647 \u0648\u0642\u062a Nginx \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u06a9\u0627\u0631\u0627\u06cc\u06cc \u0628\u0647\u062a\u0631 \u0632\u06cc\u0631 \u0628\u0627\u0631 \u0628\u0627\u0644\u0627 \u0644\u0627\u0632\u0645 \u062f\u0627\u0631\u06cc\u062f<\/li>\n\n\n\n<li>\u0645\u06cc\u062e\u0648\u0627\u0647\u06cc\u062f \u0645\u062d\u06cc\u0637\u0647\u0627\u06cc \u067e\u0631\u0648\u062f\u0627\u06a9\u0634\u0646 \u0645\u062f\u0631\u0646 \u0631\u0627 \u0645\u0646\u0639\u06a9\u0633 \u06a9\u0646\u06cc\u062f<\/li>\n\n\n\n<li>\u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u0647\u0627\u06cc\u06cc \u0645\u06cc\u0633\u0627\u0632\u06cc\u062f \u06a9\u0647 Scale \u0645\u06cc\u0634\u0648\u0646\u062f<\/li>\n\n\n\n<li>\u0645\u0639\u0645\u0627\u0631\u06cc \u0645\u062f\u0631\u0646\u062a\u0631\u06cc \u062a\u0631\u062c\u06cc\u062d \u0645\u06cc\u062f\u0647\u06cc\u062f<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0647\u0631 \u062f\u0648 \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0645\u062d\u0644\u06cc \u0628\u0647\u0637\u0648\u0631 \u06cc\u06a9\u0633\u0627\u0646 \u062e\u0648\u0628 \u06a9\u0627\u0631 \u0645\u06cc\u06a9\u0646\u0646\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u06af\u0627\u0645 \u06f3 \u2014 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc PHP \u0628\u0627 Nginx<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PHP-FPM \u06cc\u0639\u0646\u06cc FastCGI Process Manager \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install php8.3-fpm<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0634\u0631\u0648\u0639 \u0648 \u0641\u0639\u0627\u0644\u0633\u0627\u0632\u06cc PHP-FPM:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl start php8.3-fpm\nsudo systemctl enable php8.3-fpm<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062f\u0631\u06a9 PHP-FPM \u0648 FastCGI<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u062e\u0644\u0627\u0641 mod_php \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Apache\u060c Nginx \u06cc\u0639\u0646\u06cc PHP \u0631\u0627 \u0645\u0633\u062a\u0642\u06cc\u0645 \u067e\u0631\u062f\u0627\u0632\u0634 \u0646\u0645\u06cc\u06a9\u0646\u062f. PHP-FPM \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0633\u0631\u0648\u06cc\u0633 \u062c\u062f\u0627\u06cc\u06cc \u0627\u062c\u0631\u0627 \u0634\u062f\u0647 \u06a9\u0647 Nginx \u0628\u0627 \u067e\u0631\u0648\u062a\u06a9\u0644 FastCGI \u0628\u0627 \u0622\u0646 \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0631\u0642\u0631\u0627\u0631 \u0645\u06cc\u06a9\u0646\u0646\u062f. FastCGI \u067e\u0631\u0648\u062a\u06a9\u0644 Binary\u0627\u06cc \u0628\u0631\u0627\u06cc \u0631\u0628\u0637 \u0628\u0631\u0646\u0627\u0645\u0647\u0647\u0627 \u0628\u0647 \u0648\u0628\u0633\u0631\u0648\u0631\u0647\u0627\u0633\u062a\u2014from CGI \u0633\u0646\u062a\u06cc \u0633\u0631\u06cc\u0639\u062a\u0631\u2014\u0686\u0648\u0646 \u067e\u0631\u0648\u0633\u0647\u0647\u0627 \u0631\u0627 \u0628\u06cc\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0647\u0627 \u0632\u0646\u062f\u0647 \u0646\u06af\u0647 \u0645\u06cc\u062f\u0627\u0631\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0648\u0642\u062a\u06cc Nginx \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc \u0628\u0631\u0627\u06cc \u0641\u0627\u06cc\u0644 PHP \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u062f\u060c \u0622\u0646 \u0631\u0627\u2014from \u0637\u0631\u06cc\u0642 Socket \u06cc\u0648\u0646\u06cc\u06a9\u0633 \u06cc\u0627 \u0627\u062a\u0635\u0627\u0644 TCP\u2014to PHP-FPM \u0641\u0648\u0631\u0648\u0627\u0631\u062f \u0645\u06cc\u06a9\u0646\u062f. PHP-FPM \u06a9\u062f PHP \u0631\u0627 \u067e\u0631\u062f\u0627\u0632\u0634 \u06a9\u0631\u062f\u0647 \u0648 \u0646\u062a\u06cc\u062c\u0647 \u0631\u0627 \u0628\u0647 Nginx \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f\u0647\u2014which \u0633\u067e\u0633 \u0628\u0647 \u06a9\u0644\u0627\u06cc\u0646\u062a \u0645\u06cc\u0641\u0631\u0633\u062a\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u06a9\u0627\u0646\u0641\u06cc\u06af Server Block \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Nginx<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/nginx\/sites-available\/example.local<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u06a9\u0627\u0646\u0641\u06cc\u06af \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server {\n    listen 80;\n    server_name example.local;\n    root \/var\/www\/example.local;\n    index index.php index.html index.htm;\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n\n    location ~ \\.php$ {\n        include snippets\/fastcgi-php.conf;\n        fastcgi_pass unix:\/var\/run\/php\/php8.3-fpm.sock;\n    }\n\n    location ~ \/\\.ht {\n        deny all;\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u0627\u06cc\u062a \u0631\u0627 \u0641\u0639\u0627\u0644 \u0648 \u06a9\u0627\u0646\u0641\u06cc\u06af \u0631\u0627 \u062a\u0633\u062a \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir -p \/var\/www\/example.local\nsudo chown -R www-data:www-data \/var\/www\/example.local\nsudo ln -s \/etc\/nginx\/sites-available\/example.local \/etc\/nginx\/sites-enabled\/\nsudo nginx -t<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u062a\u0633\u062a \u067e\u0627\u0633 \u0634\u062f\u060c Nginx \u0631\u0627 \u0631\u06cc\u0627\u0633\u062a\u0627\u0631\u062a \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl restart nginx<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0627\u0645\u0646\u0647 \u0631\u0627 \u0628\u0647 <code>\/etc\/hosts<\/code> \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"127.0.0.1 example.local\" | sudo tee -a \/etc\/hosts<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0639\u06cc\u0628\u200c\u06cc\u0627\u0628\u06cc \u0645\u0633\u0627\u0626\u0644 PHP \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Nginx<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u062e\u0637\u0627\u06cc 502 Bad Gateway:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u06cc\u0639\u0646\u06cc Nginx \u0646\u0645\u06cc\u062a\u0648\u0627\u0646\u062f \u0628\u0627 PHP-FPM \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0631\u0642\u0631\u0627\u0631 \u06a9\u0646\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl status php8.3-fpm<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u0633\u06cc\u0631 Socket \u0631\u0627 \u0686\u06a9 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grep listen \/etc\/php\/8.3\/fpm\/pool.d\/www.conf<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0627\u06cc\u062f <code>listen = \/run\/php\/php8.3-fpm.sock<\/code> \u0628\u0628\u06cc\u0646\u06cc\u062f. \u0645\u0633\u06cc\u0631 \u062f\u0631 \u06a9\u0627\u0646\u0641\u06cc\u06af Nginx \u0628\u0627\u06cc\u062f \u062f\u0642\u06cc\u0642\u0627\u064b \u0645\u0637\u0627\u0628\u0642\u062a \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 PHP-FPM \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627\u0633\u062a \u0627\u0645\u0627 \u0645\u0634\u06a9\u0644 \u0628\u0627\u0642\u06cc \u0627\u0633\u062a\u060c Log \u062e\u0637\u0627\u06cc Nginx \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tail -20 \/var\/log\/nginx\/error.log<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0627\u06af\u0631 \u0641\u0627\u06cc\u0644\u0647\u0627\u06cc PHP \u062f\u0627\u0646\u0644\u0648\u062f \u0645\u06cc\u0634\u0648\u0646\u062f\u2014to\u200c\u062c\u0627\u06cc \u0627\u062c\u0631\u0627:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0644\u0627\u06a9 <code>location ~ \\.php$<\/code> \u062f\u0631 \u06a9\u0627\u0646\u0641\u06cc\u06af \u0633\u0631\u0648\u0631 \u0645\u0648\u062c\u0648\u062f \u0628\u0627\u0634\u062f \u0648 <code>fastcgi_pass<\/code> \u0628\u0647 Socket \u062f\u0631\u0633\u062a \u0627\u0634\u0627\u0631\u0647 \u06a9\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0627\u06af\u0631 \u062e\u0637\u0627\u06cc File not found \u0645\u06cc\u06af\u06cc\u0631\u06cc\u062f:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>snippets\/fastcgi-php.conf<\/code> \u0645\u0648\u062c\u0648\u062f \u0628\u0627\u0634\u062f\u2014which \u0645\u062a\u063a\u06cc\u0631 SCRIPT_FILENAME \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc\u06a9\u0646\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u06af\u0627\u0645 \u06f4 \u2014 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc PHP \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PHP \u0628\u0631\u0627\u06cc \u0641\u0627\u06cc\u0644\u0647\u0627\u06cc CLI \u0648 \u0648\u0628\u0633\u0631\u0648\u0631\u2014from \u0637\u0631\u06cc\u0642 \u0641\u0627\u06cc\u0644\u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062c\u062f\u0627\u06af\u0627\u0646\u0647\u2014\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u06a9\u0646\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u0628\u0631\u0627\u06cc CLI\nsudo nano \/etc\/php\/8.3\/cli\/php.ini\n\n# \u0628\u0631\u0627\u06cc Apache\nsudo nano \/etc\/php\/8.3\/apache2\/php.ini\n\n# \u0628\u0631\u0627\u06cc PHP-FPM (Nginx)\nsudo nano \/etc\/php\/8.3\/fpm\/php.ini<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u0646\u06a9\u062a\u0647:<\/strong> \u0627\u06af\u0631 \u0647\u0645 CLI \u0648 \u0647\u0645 \u0648\u0628\u0633\u0631\u0648\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u06a9\u0646\u06cc\u062f\u060c \u0628\u0627\u06cc\u062f \u0647\u0631 \u062f\u0648 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f. \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a cli\/php.ini \u0628\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0647\u0627\u06cc \u0648\u0628 \u0627\u062b\u0631 \u0646\u0645\u06cc\u06af\u0630\u0627\u0631\u0646\u062f.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0636\u0631\u0648\u0631\u06cc \u062a\u0648\u0633\u0639\u0647<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0631\u0627 \u062f\u0631 php.ini \u067e\u06cc\u062f\u0627 \u0648 \u0628\u0647\u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>display_errors = On\ndisplay_startup_errors = On\nerror_reporting = E_ALL\nlog_errors = On\nerror_log = \/var\/log\/php_errors.log\nmemory_limit = 256M\nupload_max_filesize = 64M\npost_max_size = 64M\nmax_execution_time = 300\ndate.timezone = Asia\/Tehran<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0647\u0631 \u062a\u0646\u0638\u06cc\u0645 \u0686\u0647 \u0645\u06cc\u06a9\u0646\u062f:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>display_errors = On:<\/strong> \u062e\u0637\u0627\u0647\u0627\u06cc PHP \u0631\u0627 \u0645\u0633\u062a\u0642\u06cc\u0645 \u062f\u0631 \u0645\u0631\u0648\u0631\u06af\u0631 \u0646\u0634\u0627\u0646 \u0645\u06cc\u062f\u0647\u062f (\u0628\u0631\u0627\u06cc \u062f\u06cc\u0628\u0627\u06af \u0645\u0641\u06cc\u062f\u061b \u062f\u0631 \u067e\u0631\u0648\u062f\u0627\u06a9\u0634\u0646 \u062e\u0637\u0631\u0646\u0627\u06a9)<\/li>\n\n\n\n<li><strong>display_startup_errors = On:<\/strong> \u062e\u0637\u0627\u0647\u0627\u06cc \u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc PHP \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc\u062f\u0647\u062f<\/li>\n\n\n\n<li><strong>error_reporting = E_ALL:<\/strong> \u0647\u0645\u0647 \u0627\u0646\u0648\u0627\u0639 \u062e\u0637\u0627 (Warning\u060c Notice \u0648 \u063a\u06cc\u0631\u0647) \u0631\u0627 \u06af\u0632\u0627\u0631\u0634 \u0645\u06cc\u06a9\u0646\u062f<\/li>\n\n\n\n<li><strong>log_errors = On:<\/strong> \u062e\u0637\u0627\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 Log \u0645\u06cc\u0646\u0648\u06cc\u0633\u062f<\/li>\n\n\n\n<li><strong>memory_limit = 256M:<\/strong> \u062d\u062f\u0627\u06a9\u062b\u0631 \u062d\u0627\u0641\u0638\u0647\u0627\u06cc \u06a9\u0647 Script \u0645\u06cc\u062a\u0648\u0627\u0646\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u062f<\/li>\n\n\n\n<li><strong>upload_max_filesize = 64M:<\/strong> \u062d\u062f\u0627\u06a9\u062b\u0631 \u062d\u062c\u0645 \u0641\u0627\u06cc\u0644\u0647\u0627\u06cc \u0622\u067e\u0644\u0648\u062f\u06cc<\/li>\n\n\n\n<li><strong>post_max_size = 64M:<\/strong> \u062d\u062f\u0627\u06a9\u062b\u0631 \u062d\u062c\u0645 \u062f\u0627\u062f\u0647\u0647\u0627\u06cc POST<\/li>\n\n\n\n<li><strong>max_execution_time = 300:<\/strong> \u062d\u062f\u0627\u06a9\u062b\u0631 \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627\u06cc Script (\u0628\u0647 \u062b\u0627\u0646\u06cc\u0647)<\/li>\n\n\n\n<li><strong>date.timezone:<\/strong> Timezone \u067e\u06cc\u0634\u0641\u0631\u0636 \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc\u06a9\u0646\u062f<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u0647\u0634\u062f\u0627\u0631:<\/strong> \u0647\u0631\u06af\u0632 \u0627\u06cc\u0646 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062a\u0648\u0633\u0639\u0647 \u0631\u0627 \u062f\u0631 \u067e\u0631\u0648\u062f\u0627\u06a9\u0634\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u0632\u0646\u062f\u0647 \u0647\u0645\u06cc\u0634\u0647 <code>display_errors = Off<\/code> \u0628\u06af\u0630\u0627\u0631\u06cc\u062f.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0639\u062f \u0627\u0632 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a\u060c \u0648\u0628\u0633\u0631\u0648\u0631 \u0631\u0627 \u0631\u06cc\u0627\u0633\u062a\u0627\u0631\u062a \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl restart apache2  # \u06cc\u0627 nginx\nsudo systemctl restart php8.3-fpm<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u06af\u0627\u0645 \u06f5 \u2014 \u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc Composer \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u0647\u0627 (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Composer<\/strong> \u0627\u0628\u0632\u0627\u0631\u06cc \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u0647\u0627 \u062f\u0631 PHP \u0627\u0633\u062a\u2014\u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u062f\u0647\u062f \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u067e\u0631\u0648\u0698\u0647\u200c\u062a\u0627\u0646 \u0628\u0647 \u0622\u0646\u200c\u0647\u0627 \u0648\u0627\u0628\u0633\u062a\u0647 \u0627\u0633\u062a \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f \u0648 \u0646\u0635\u0628\/\u0628\u0647\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0627\u06cc\u0646 \u067e\u06a9\u06cc\u062c\u0647\u0627 \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0627 \u0627\u06cc\u0646\u06a9\u0647 \u0645\u0634\u0627\u0628\u0647 \u0627\u0633\u062a\u060c Composer \u062f\u0642\u06cc\u0642\u0627\u064b \u0645\u062b\u0644 yum \u06cc\u0627 apt \u0646\u06cc\u0633\u062a. \u0628\u0627 \u00ab\u067e\u06a9\u06cc\u062c\u00bb\u0647\u0627 \u06cc\u0627 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u0647\u0627 \u0633\u0631\u0648\u06a9\u0627\u0631 \u062f\u0627\u0631\u062f\u2014but \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647-\u0627\u0632\u0627\u06cc-\u067e\u0631\u0648\u0698\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc\u06a9\u0646\u062f\u2014to\u200c\u062f\u0631\u0648\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u0627\u06cc (\u0645\u062b\u0644\u0627\u064b vendor) \u062f\u0627\u062e\u0644 \u067e\u0631\u0648\u0698\u0647 \u0646\u0635\u0628 \u0645\u06cc\u06a9\u0646\u062f. \u0628\u0647\u200c\u0637\u0648\u0631 \u067e\u06cc\u0634\u0641\u0631\u0636 \u0647\u06cc\u0686\u06cc \u0631\u0627 \u0633\u0631\u0627\u0633\u0631\u06cc \u0646\u0635\u0628 \u0646\u0645\u06cc\u06a9\u0646\u062f\u2014\u067e\u0633 Dependency Manager \u0627\u0633\u062a (\u0646\u0647 Package Manager).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Composer \u0627\u0632 npm \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Node \u0648 Bundler \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Ruby \u0642\u0648\u06cc\u0627\u064b \u0627\u0644\u0647\u0627\u0645 \u06af\u0631\u0641\u062a\u0647 \u0627\u0633\u062a.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0646\u0635\u0628 Composer<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u062f\u0627\u0646\u0644\u0648\u062f Installer \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Composer:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -sS https:\/\/getcomposer.org\/installer -o \/tmp\/composer-setup.php<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u062a\u0623\u06cc\u06cc\u062f Integrity \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Installer:<\/strong> Hash \u06cc\u0639\u0646\u06cc SHA-384 \u0631\u0627 \u0686\u06a9 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HASH=$(curl -sS https:\/\/composer.github.io\/installer.sig)<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>php -r \"if (hash_file('SHA384', '\/tmp\/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('\/tmp\/composer-setup.php'); } echo PHP_EOL;\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0627\u06cc\u062f <code>Installer verified<\/code> \u0628\u0628\u06cc\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0646\u0635\u0628 \u0633\u0631\u0627\u0633\u0631\u06cc:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo php \/tmp\/composer-setup.php --install-dir=\/usr\/local\/bin --filename=composer<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u062a\u0633\u062a:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>composer<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc \u0634\u0628\u06cc\u0647 \u0627\u06cc\u0646 \u0645\u06cc\u0628\u06cc\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"> <code>  ______\n  \/ ____\/___  ____ ___  ____  ____  ________  _____\n \/ \/   \/ __ \\\/ __ `__ \\\/ __ \\\/ __ \\\/ ___\/ _ \\\/ ___\/\n\/ \/___ \/ \/_\/ \/ \/ \/ \/ \/ \/ \/_\/ \/ \/_\/ (__  )  __\/ \/\n\\____\/\\____\/_\/ \/_\/ \/_\/ .___\/\\____\/____\/\\___\/_\/\n                    \/_\/\nComposer version 2.3.5 2022-04-13 16:43:00\n\nUsage:\n  command [options] [arguments]\n...<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u0646\u06a9\u062a\u0647 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0627\u06cc\u0631\u0627\u0646\u06cc:<\/strong> \u0627\u06af\u0631 \u062f\u0631 \u062f\u0627\u0646\u0644\u0648\u062f Composer \u0645\u0634\u06a9\u0644 \u062f\u0627\u0631\u06cc\u062f\u060c \u0645\u06cc\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0645\u06cc\u0631\u0648\u0631 \u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f <code>https:\/\/composer.parmincloud.ir<\/code> \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 Package\u0647\u0627\u06cc Composer \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\u06af\u0627\u0645 \u06f6 \u2014 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Composer \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 PHP<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>cd ~\nmkdir example-project\ncd example-project\ncomposer init<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Wizard \u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc \u0634\u0631\u0648\u0639 \u0645\u06cc\u0634\u0648\u062f. \u062c\u0632\u0626\u06cc\u0627\u062a\u06cc \u06a9\u0647 \u062f\u0631 Wizard \u0648\u0627\u0631\u062f \u0645\u06cc\u06a9\u0646\u06cc\u062f \u0628\u0639\u062f\u0627\u064b \u0642\u0627\u0628\u0644 \u0628\u0647\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0627\u0633\u062a\u2014\u067e\u0633 \u0622\u0632\u0627\u062f\u0627\u0646\u0647 Default\u0647\u0627 \u0631\u0627 \u0628\u06af\u0630\u0627\u0631\u06cc\u062f \u0648 \u0641\u0642\u0637 ENTER \u0628\u0632\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Package name (&lt;vendor&gt;\/&lt;name&gt;) &#91;sammy\/example-project]:  sammy\/project1\nDescription &#91;]:\nAuthor &#91;n to skip]: Sammy &lt;sammy@example.com&gt;\nMinimum Stability &#91;]: \nPackage Type (e.g. library, project, metapackage, composer-plugin) &#91;]: project\nLicense &#91;]: \n\nDefine your dependencies.\n\nWould you like to define your dependencies (require) interactively &#91;yes]? no\nWould you like to define your dev dependencies (require-dev) interactively &#91;yes]? no\n\nAdd PSR-4 autoload mapping? Maps namespace \"Sammy\\Project1\" to the entered relative path. &#91;src\/, n to skip]: n\n\nDo you confirm generation &#91;yes]? yes<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0648\u0644\u06cc\u0646 \u0628\u0627\u0631\u06cc \u06a9\u0647 Dependency\u0627\u06cc \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f\u060c Composer \u0641\u0648\u0644\u062f\u0631 vendor \u0631\u0627 \u0645\u06cc\u0633\u0627\u0632\u062f. \u0647\u0645\u200c\u0686\u0646\u06cc\u0646 \u0641\u0627\u06cc\u0644 composer.lock \u0631\u0627\u2014which \u0646\u0633\u062e\u0647 \u062f\u0642\u06cc\u0642 \u0647\u0631 Dependency \u0648 \u0632\u06cc\u0631-Dependency \u0627\u0633\u062a\u0641\u0627\u062f\u0647\u0634\u062f\u0647 \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0645\u0634\u062e\u0635 \u0645\u06cc\u06a9\u0646\u062f\u2014\u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u06a9\u0646\u062f \u0647\u0631 \u0645\u0627\u0634\u06cc\u0646\u0627\u06cc \u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0648\u06cc \u0627\u062c\u0631\u0627 \u0645\u06cc\u0634\u0648\u062f\u2014to\u200c\u0647\u0645\u0631\u0627\u0647 \u0647\u0645\u0627\u0646 \u0646\u0633\u062e\u0647 \u062f\u0642\u06cc\u0642\u0650 \u0647\u0631 \u067e\u06a9\u06cc\u062c\u2014\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u0646\u06a9\u062a\u0647:<\/strong> \u0641\u0648\u0644\u062f\u0631 vendor \u0647\u0631\u06af\u0632 \u0646\u0628\u0627\u06cc\u062f \u0628\u0647 Version Control \u06a9\u0627\u0645\u06cc\u062a \u0634\u0648\u062f. \u0628\u0647\u200c\u062c\u0627\u06cc\u0634 \u0641\u0642\u0637 composer.json \u0648 composer.lock \u0631\u0627 \u06a9\u0627\u0645\u06cc\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\u06af\u0627\u0645 \u06f7 \u2014 \u062a\u0633\u062a \u0645\u062d\u06cc\u0637 PHP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a PHP \u067e\u0627\u06cc\u0647\u0627\u06cc \u0628\u0631\u0627\u06cc \u062a\u0633\u062a \u0633\u0627\u062e\u062a \u0648 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano hello.php<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u06a9\u062f \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\necho 'Hello World!';\n?&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0630\u062e\u06cc\u0631\u0647 \u0648 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>php hello.php<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 PHP \u062f\u0631\u0633\u062a \u067e\u0631\u062f\u0627\u0632\u0634 \u0634\u062f\u0647 \u0628\u0627\u0634\u062f\u060c \u0627\u06cc\u0646 \u0631\u0627 \u0645\u06cc\u0628\u06cc\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Hello World!<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u062d\u06cc\u0637 PHP \u0645\u0648\u0641\u0642\u06cc\u062a\u0622\u0645\u06cc\u0632 \u0646\u0635\u0628 \u0634\u062f\u0647 \u0648 \u0628\u0631\u0627\u06cc \u0627\u062f\u0627\u0645\u0647 \u0645\u0633\u06cc\u0631 \u0628\u0631\u0646\u0627\u0645\u0647\u0646\u0648\u06cc\u0633\u06cc \u0622\u0645\u0627\u062f\u0647 \u0647\u0633\u062a\u06cc\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u06af\u0627\u0645 \u06f8 \u2014 \u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc \u067e\u0631\u0648\u0698\u0647\u0647\u0627\u06cc PHP \u0648\u0627\u0642\u0639\u06cc<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0631\u06cc\u0645\u0648\u0631\u06a9\u0647\u0627\u06cc \u0645\u062f\u0631\u0646 PHP \u0645\u062b\u0644 Laravel\u060c Symfony \u0648 \u0648\u0631\u062f\u067e\u0631\u0633\u2014to\u200c\u0647\u0645\u0631\u0627\u0647 \u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u0647\u0627\u06cc \u0645\u0634\u062e\u0635\u06cc \u0627\u0632 PHP \u0648 Composer\u2014\u0644\u0627\u0632\u0645 \u062f\u0627\u0631\u0646\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc Laravel<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>composer create-project laravel\/laravel my-laravel-app\ncd my-laravel-app<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 Laravel\u2014to\u200c\u0647\u0645\u0631\u0627\u0647 \u0647\u0645\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u0647\u0627\u06cc\u0634\u2014\u0631\u0627 \u062f\u0627\u0646\u0644\u0648\u062f \u0645\u06cc\u06a9\u0646\u062f. \u067e\u0631\u0648\u0633\u0647 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0686\u0646\u062f \u062f\u0642\u06cc\u0642\u0647 \u0637\u0648\u0644 \u0628\u06a9\u0634\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Laravel \u0628\u0647 \u0627\u06cc\u0646 \u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u0647\u0627\u06cc PHP\u2014which \u062f\u0631 \u06af\u0627\u0645 \u06f1 \u0646\u0635\u0628 \u0634\u062f\u0646\u062f\u2014\u0644\u0627\u0632\u0645 \u062f\u0627\u0631\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>php8.3-mbstring \u2014 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0631\u0634\u062a\u0647\u0647\u0627\u06cc \u0686\u0646\u062f\u0628\u0627\u06cc\u062a\u06cc<\/li>\n\n\n\n<li>php8.3-xml \u2014 \u067e\u0627\u0631\u0633 XML<\/li>\n\n\n\n<li>php8.3-curl \u2014 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0647\u0627\u06cc HTTP<\/li>\n\n\n\n<li>php8.3-zip \u2014 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0622\u0631\u0634\u06cc\u0648<\/li>\n\n\n\n<li>php8.3-bcmath \u2014 \u0631\u06cc\u0627\u0636\u06cc\u0627\u062a \u0628\u0627 \u062f\u0642\u062a \u0628\u0627\u0644\u0627<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 Laravel\u2014even \u0628\u0627 \u0648\u062c\u0648\u062f \u0646\u0635\u0628\u2014\u00abmissing mbstring\u00bb \u06af\u0641\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>php -m | grep mbstring<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u0645\u0648\u062c\u0648\u062f \u0648\u0644\u06cc \u0646\u0634\u0627\u0646 \u0646\u0645\u06cc\u062f\u0647\u062f\u060c \u0648\u0628\u0633\u0631\u0648\u0631 \u0631\u0627 \u0631\u06cc\u0627\u0633\u062a\u0627\u0631\u062a \u06a9\u0646\u06cc\u062f. \u0647\u0645\u200c\u0686\u0646\u06cc\u0646 \u0628\u0627 <code>php --ini<\/code> \u0686\u06a9 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062f\u0631 php.ini \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 CLI \u0641\u0639\u0627\u0644 \u0628\u0627\u0634\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u062a\u0623\u06cc\u06cc\u062f \u0646\u0635\u0628 Laravel:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>php artisan serve<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0627\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>INFO  Server running on &#91;http:\/\/127.0.0.1:8000]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>http:\/\/localhost:8000<\/code> \u0631\u0627 \u062f\u0631 \u0645\u0631\u0648\u0631\u06af\u0631 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f. \u0635\u0641\u062d\u0647 \u062e\u0648\u0634\u200c\u0622\u0645\u062f\u06af\u0648\u06cc\u06cc Laravel \u0631\u0627 \u0628\u0627\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc \u0648\u0631\u062f\u067e\u0631\u0633<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/var\/www\nsudo wget https:\/\/wordpress.org\/latest.tar.gz\nsudo tar -xzf latest.tar.gz\nsudo chown -R www-data:www-data \/var\/www\/wordpress<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0647 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 MySQL \u06cc\u0627 MariaDB \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install mysql-server\nsudo mysql_secure_installation<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0648 \u06a9\u0627\u0631\u0628\u0631 \u0628\u0631\u0627\u06cc \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0633\u0627\u0632\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE DATABASE wordpress_db;\nCREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'secure_password';\nGRANT ALL PRIVILEGES ON wordpress_db.* TO 'wpuser'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0648\u0628\u0633\u0631\u0648\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0634\u0627\u0631\u0647 \u0628\u0647 <code>\/var\/www\/wordpress<\/code> \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f. \u0633\u0627\u06cc\u062a \u0631\u0627 \u062f\u0631 \u0645\u0631\u0648\u0631\u06af\u0631 \u0628\u0627\u0632 \u06a9\u0631\u062f\u0647 \u0648 \u062c\u0627\u062f\u0648\u06af\u0631 \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u06cc Symfony<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>composer create-project symfony\/website-skeleton my-symfony-app\ncd my-symfony-app<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u0631\u0648\u0631 \u062a\u0648\u0633\u0639\u0647 \u0631\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>symfony server:start<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u06cc\u0627 \u0627\u0632 \u0633\u0631\u0648\u0631 \u062f\u0627\u062e\u0644\u06cc PHP:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>php -S localhost:8000 -t public<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u06af\u0627\u0645 \u06f9 \u2014 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0648\u0634\u0647\u0627 \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0645\u062d\u0644\u06cc<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u0645\u0644\u0627\u062d\u0638\u0627\u062a \u0627\u0645\u0646\u06cc\u062a\u06cc<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u062a\u0648\u0627\u0628\u0639 \u062e\u0637\u0631\u0646\u0627\u06a9:<\/strong> \u062a\u0648\u0627\u0628\u0639\u06cc \u0645\u062b\u0644 exec()\u060c system() \u0648 shell_exec() \u062f\u0631 php.ini \u067e\u0631\u0648\u062f\u0627\u06a9\u0634\u0646 \u0645\u062d\u062f\u0648\u062f \u0634\u0648\u0646\u062f<\/li>\n\n\n\n<li><strong>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc:<\/strong> \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062d\u0633\u0627\u0633 \u0631\u0627 \u062f\u0631 .env \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f<\/li>\n\n\n\n<li><strong>\u0645\u062c\u0648\u0632\u0647\u0627\u06cc \u062f\u0631\u0633\u062a \u0641\u0627\u06cc\u0644:<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chown -R www-data:www-data \/var\/www\/your-project\nsudo find \/var\/www\/your-project -type d -exec chmod 755 {} \\;\nsudo find \/var\/www\/your-project -type f -exec chmod 644 {} \\;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u06a9\u0646\u062a\u0631\u0644 \u0646\u0633\u062e\u0647<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/var\/www\/your-project\ngit init<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">.gitignore \u0628\u0633\u0627\u0632\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/vendor\/\n\/node_modules\/\n.env\n.DS_Store\n*.log<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u0627\u0631\u0627\u06cc\u06cc<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>OPcache \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/strong> OPcache\u2014which \u0628\u0627 PHP 8.3 \u0634\u0627\u0645\u0644 \u0645\u06cc\u0634\u0648\u062f\u2014\u0628\u0627 Cache \u06a9\u0631\u062f\u0646 \u06a9\u062f \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644-\u0634\u062f\u0647 PHP \u06a9\u0627\u0631\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0647\u0628\u0648\u062f \u0645\u06cc\u062f\u0647\u062f<\/li>\n\n\n\n<li><strong>Autoloader \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Composer \u0631\u0627 \u0628\u0647\u06cc\u0646\u0647 \u06a9\u0646\u06cc\u062f:<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>composer install --optimize-autoloader --no-dev<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u06af\u0627\u0645 \u06f1\u06f0 \u2014 \u0639\u06cc\u0628\u200c\u06cc\u0627\u0628\u06cc \u0645\u0633\u0627\u0626\u0644 \u0631\u0627\u06cc\u062c<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u0647\u0627\u06cc PHP Load \u0646\u0645\u06cc\u0634\u0648\u0646\u062f<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>dpkg -l | grep php8.3\nls \/usr\/lib\/php\/*\/extension_name.so<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u0647\u0646\u0648\u0632 \u0638\u0627\u0647\u0631 \u0646\u0645\u06cc\u0634\u0648\u062f\u060c \u0648\u0628\u0633\u0631\u0648\u0631 \u0631\u0627 \u0631\u06cc\u0627\u0633\u062a\u0627\u0631\u062a \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u0646\u0633\u062e\u0647 \u0635\u062d\u06cc\u062d \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u062e\u0637\u0627\u06cc 500 Internal Server Error<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tail -20 \/var\/log\/apache2\/error.log\nsudo tail -20 \/var\/log\/nginx\/error.log\nsudo tail -20 \/var\/log\/php8.3-fpm.log<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u0633\u0627\u0626\u0644 \u0631\u0627\u06cc\u062c \u0634\u0627\u0645\u0644: \u0645\u062c\u0648\u0632\u0647\u0627\u06cc \u0646\u0627\u062f\u0631\u0633\u062a\u060c \u0627\u06a9\u0633\u062a\u0646\u0634\u0646 \u0645\u0641\u0642\u0648\u062f\u060c \u062e\u0637\u0627\u06cc \u0633\u06cc\u0646\u062a\u06a9\u0633\u060c \u06cc\u0627 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u062d\u0627\u0641\u0638\u0647.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0639\u0627\u0631\u0636 \u0646\u0633\u062e\u0647\u0647\u0627\u06cc PHP<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>dpkg -l | grep php | grep -E 'php&#91;0-9]'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 Apache\u060c \u0645\u0627\u0698\u0648\u0644\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631 \u0631\u0627 \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo a2dismod php8.1  # \u0627\u06af\u0631 \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a\nsudo a2enmod php8.3\nsudo systemctl restart apache2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">PHP 8.3 \u0631\u0627 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0646\u0633\u062e\u0647 CLI \u067e\u06cc\u0634\u0641\u0631\u0636:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo update-alternatives --set php \/usr\/bin\/php8.3<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0645\u0633\u0627\u0626\u0644 \u062d\u0627\u0641\u0638\u0647 Composer<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 Composer \u062d\u0627\u0641\u0638\u0647\u0627\u0634 \u062a\u0645\u0627\u0645 \u0634\u0648\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>php -d memory_limit=512M \/usr\/local\/bin\/composer install<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0645\u0633\u0627\u0626\u0644 \u0627\u062a\u0635\u0627\u0644 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl status mysql\nphp -m | grep mysql<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u0645\u0641\u0642\u0648\u062f \u0627\u0633\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install php8.3-mysql\nsudo systemctl restart apache2  # \u06cc\u0627 php8.3-fpm<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u0633\u0648\u0627\u0644\u0627\u062a \u0645\u062a\u062f\u0627\u0648\u0644<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u06f1. \u0686\u0637\u0648\u0631 PHP \u0631\u0627 \u062f\u0631 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u0646\u0635\u0628 \u06a9\u0646\u0645\u061f<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update &amp;&amp; sudo apt install php8.3<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">PHP 8.3 \u062f\u0631 \u0645\u062e\u0627\u0632\u0646 \u067e\u06cc\u0634\u0641\u0631\u0636 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 24.04 \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u06f2. \u06a9\u062f\u0627\u0645 \u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u0647\u0627\u06cc PHP \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0636\u0631\u0648\u0631\u06cc\u200c\u0627\u0646\u062f\u061f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">php8.3-cli\u060c php8.3-mysql\u060c php8.3-curl\u060c php8.3-xml\u060c php8.3-mbstring\u060c php8.3-zip\u060c php8.3-gd \u0648 php8.3-bcmath.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u06f3. \u0686\u0637\u0648\u0631 PHP \u0631\u0627 \u0628\u0627 Apache \u06cc\u0627 Nginx \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u0645\u061f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc Apache \u06cc\u0639\u0646\u06cc libapache2-\u0645\u062f-php8.3 \u0631\u0627 \u0646\u0635\u0628 \u0648 \u0628\u0627 a2enmod \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc Nginx \u06cc\u0639\u0646\u06cc php8.3-fpm \u0631\u0627 \u0646\u0635\u0628 \u0648 \u06a9\u0627\u0646\u0641\u06cc\u06af FastCGI \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u06f4. \u0686\u0637\u0648\u0631 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u0645 PHP \u062f\u0631\u0633\u062a \u0646\u0635\u0628 \u0634\u062f\u0647\u061f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>php -v<\/code> \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f. \u0641\u0627\u06cc\u0644 \u062a\u0633\u062a\u06cc \u0628\u0627 phpinfo() \u0628\u0633\u0627\u0632\u06cc\u062f \u0648 \u0627\u0632 \u0648\u0628\u0633\u0631\u0648\u0631 \u0628\u0627\u0632\u0634 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u06f5. \u0622\u06cc\u0627 \u0645\u06cc\u062a\u0648\u0627\u0646\u0645 Laravel \u06cc\u0627 \u0648\u0631\u062f\u067e\u0631\u0633 \u0631\u0627 \u0645\u062d\u0644\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u0645\u061f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0644\u0647. Laravel \u0628\u0647 Composer \u0648 \u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u0647\u0627\u06cc \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f PHP \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f. \u0648\u0631\u062f\u067e\u0631\u0633\u2014to\u200c\u0639\u0644\u0627\u0648\u0647 \u0628\u0631 PHP\u2014\u0628\u0647 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 MySQL \u0647\u0645 \u0644\u0627\u0632\u0645 \u062f\u0627\u0631\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u06f6. \u0686\u0637\u0648\u0631 Composer \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u0645\u061f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Installer \u0631\u0627 \u062f\u0627\u0646\u0644\u0648\u062f\u060c Hash \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u0648 \u0633\u0631\u0627\u0633\u0631\u06cc \u0646\u0635\u0628\u0634 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u06f7. \u0686\u0637\u0648\u0631 \u0645\u0633\u0627\u0626\u0644 \u0627\u06a9\u0633\u062a\u0646\u0634\u0646 \u0645\u0641\u0642\u0648\u062f \u0631\u0627 \u062d\u0644 \u06a9\u0646\u0645\u061f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>php -m<\/code> \u0631\u0627 \u0686\u06a9 \u06a9\u0646\u06cc\u062f. \u0627\u06a9\u0633\u062a\u0646\u0634\u0646 \u0645\u0641\u0642\u0648\u062f \u0631\u0627 \u0646\u0635\u0628 \u0648 \u0648\u0628\u0633\u0631\u0648\u0631 \u0631\u0627 \u0631\u06cc\u0627\u0633\u062a\u0627\u0631\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u06f8. \u0641\u0631\u0642 Apache \u0648 Nginx \u0628\u0631\u0627\u06cc PHP \u0686\u06cc\u0633\u062a\u061f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Apache \u06cc\u0639\u0646\u06cc mod_php \u0631\u0627 \u062f\u0627\u0634\u062a\u0647\u2014PHP \u0645\u0633\u062a\u0642\u06cc\u0645 \u062f\u0631 \u067e\u0631\u0648\u0633\u0647 Apache\u061b Nginx \u0628\u0647 PHP-FPM\u2014to\u200c\u0639\u0646\u0648\u0627\u0646 \u0633\u0631\u0648\u06cc\u0633 \u062c\u062f\u0627\u2014\u0644\u0627\u0632\u0645 \u062f\u0627\u0631\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u06f9. \u0622\u06cc\u0627 \u0645\u06cc\u062a\u0648\u0627\u0646\u0645 \u0686\u0646\u062f \u0646\u0633\u062e\u0647 PHP \u0631\u0627 \u0631\u0648\u06cc \u0647\u0645\u0627\u0646 \u0633\u06cc\u0633\u062a\u0645 \u0646\u0635\u0628 \u06a9\u0646\u0645\u061f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0644\u0647\u2014with phpenv \u06cc\u0627 phpbrew. \u0628\u0631\u0627\u06cc \u0628\u06cc\u0634\u062a\u0631 \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc \u062a\u0648\u0633\u0639\u0647\u060c \u0646\u0633\u062e\u0647 PHP \u0645\u0646\u0641\u0631\u062f\u06cc \u06a9\u0627\u0641\u06cc \u0627\u0633\u062a.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0646\u062a\u06cc\u062c\u0647\u200c\u06af\u06cc\u0631\u06cc<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u062d\u0627\u0644\u0627 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u06a9\u0627\u0645\u0644\u0627\u064b \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc-\u0634\u062f\u0647 PHP \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648\u2014with \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u0647\u0631 \u062f\u0648 \u0648\u0628\u0633\u0631\u0648\u0631 Apache \u0648 Nginx\u2014\u062f\u0627\u0631\u06cc\u062f. \u0631\u0627\u0647\u0627\u0646\u062f\u0627\u0632\u062a\u0627\u0646 \u0634\u0627\u0645\u0644 \u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u0647\u0627\u06cc \u0636\u0631\u0648\u0631\u06cc PHP\u060c Composer \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u0647\u0627 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062f\u0631\u0633\u062a \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0645\u062d\u0644\u06cc \u0627\u0633\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639 \u067e\u0631\u0648\u0698\u0647 \u0628\u0639\u062f\u06cc\u060c IDE\u0627\u06cc \u0645\u062b\u0644 VS Code\u2014to\u200c\u0647\u0645\u0631\u0627\u0647 \u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u0647\u0627\u06cc PHP \u0628\u0631\u0627\u06cc Syntax Highlighting\u060c \u062f\u06cc\u0628\u0627\u06af \u0648 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc IntelliSense\u2014\u0631\u0627 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0642\u062f\u0645\u0647 PHP\u060c \u0632\u0628\u0627\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u0646\u0648\u06cc\u0633\u06cc \u0633\u0645\u062a-\u0633\u0631\u0648\u0631 \u0645\u062d\u0628\u0648\u0628 \u0648 \u0645\u062a\u0646-\u0628\u0627\u0632 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0648\u0628 \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0648 \u0628\u062e\u0634 \u0642\u0627\u0628\u0644-\u062a\u0648\u062c\u0647\u06cc \u0627\u0632 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u2014from \u0648\u0628\u0644\u0627\u06af\u0647\u0627 \u0648 \u0633\u0627\u06cc\u062a\u0647\u0627\u06cc \u0641\u0631\u0648\u0634\u06af\u0627\u0647\u06cc \u062a\u0627 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u0647\u0627\u06cc \u0628\u0632\u0631\u06af\u0645\u0642\u06cc\u0627\u0633\u2014\u0631\u0627 \u062a\u063a\u0630\u06cc\u0647 \u0645\u06cc\u06a9\u0646\u062f. \u0628\u0627 \u0647\u0631 Release \u062c\u062f\u06cc\u062f\u060c PHP \u06a9\u0627\u0631\u0627\u06cc\u06cc\u060c \u0627\u0645\u0646\u06cc\u062a \u0648 \u0642\u0627\u0628\u0644\u06cc\u062a\u0647\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0645\u062f\u0631\u0646\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u06a9\u0646\u062f \u062a\u0627 \u062a\u0648\u0633\u0639\u0647\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0646\u0631\u0645\u0627\u0641\u0632\u0627\u0631 \u0645\u0642\u0627\u0648\u0645 \u0648 \u0645\u0642\u06cc\u0627\u0633\u067e\u0630\u06cc\u0631 \u0628\u0633\u0627\u0632\u0646\u062f. PHP 8.1 \u06cc\u06a9 Release \u067e\u0627\u06cc\u062f\u0627\u0631 \u0648 &hellip;<\/p>\n","protected":false},"author":9,"featured_media":7098,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[258,190,8],"tags":[],"class_list":["post-7097","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ubuntu","category-programming","category-8"],"_links":{"self":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/7097","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/comments?post=7097"}],"version-history":[{"count":1,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/7097\/revisions"}],"predecessor-version":[{"id":7099,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/7097\/revisions\/7099"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/media\/7098"}],"wp:attachment":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/media?parent=7097"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/categories?post=7097"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/tags?post=7097"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}