הגדרת סביבת שרת עבור 1C-Bitrix
לאחר עדכון PHP, האתר שלך לעיתים קרובות נשבר. תרחיש טיפוסי עבור בעלי פרויקטים של 1C-Bitrix: עדכון מודול, מעבר בין גרסאות PHP, או העברה לשרת חדש מביאים לעיתים קרובות לשגיאות תאימות סביבה. הגדרת סביבת השרת היא הגורם המרכזי לפעולה יציבה. פרמטרים שגויים ב-php.ini, הרחבות חסרות, הרשאות שגויות מובילות למסך לבן, תגובות 500, או ירידה בביצועים. הניסיון שלנו מראה: סביבה נכונה מניבה שיפור ביצועים של פי 2–3 ללא שינוי בלוגיקה העסקית.
מסך לבן לאחר עדכון PHP הוא תופעה טיפוסית. או השגיאה mysql_* functions are deprecated בעת התקנת מודול חדש. ב-9 מתוך 10 מקרים, הבעיה אינה בקוד אלא בסביבה: גרסאות שגויות, הרחבות חסרות, הרשאות שגויות. הגדרה נכונה לא רק מבטלת שגיאות אלא גם מאיצה משמעותית את האתר שלך.
אנחנו צוות של מומחי 1C-Bitrix מוסמכים. נגדיר עבורך את סביבת השרת במפתח מלא, כך שתוכל לשכוח מתאימות. כבר הגדרנו למעלה מ-50 פרויקטים — מ-VPS פשוט ועד אשכולות בעומס גבוה.
מהן דרישות השרת של 1C-Bitrix?
ההמלצות העדכניות עבור Bitrix (בדוק את דרישות המערכת עבור הגרסה שלך):
| רכיב | מומלץ | מינימום |
|---|---|---|
| PHP | 8.1–8.2 | 7.4 |
| MySQL/MariaDB | 8.0 / MariaDB 10.6 | MySQL 5.7 |
| Nginx | 1.20+ | 1.18 |
| PHP-FPM | מותאם ל-PHP | — |
| Redis / Memcached | Redis 7 / Memcached 1.6 | — |
Bitrix VM או הגדרה ידנית?
Bitrix VM הוא המתקין הרשמי עבור CentOS/Rocky Linux עם תצורות מוכנות וסקריפט bx-manage.sh. הוא טוב להתחלה מהירה אך קשור למערכת הפעלה ספציפית וקשה להתאמה אישית. הגדרה ידנית על Ubuntu/Debian נותנת שליטה מלאה: אתה בוחר גרסאות רכיבים, משתלב בקלות עם Docker, Ansible, GitLab CI. עבור פרויקטים עם דרישות לא סטנדרטיות, הגדרה ידנית יעילה פי 2–3 כי היא מאפשרת להתאים כל פרט ללוגיקה העסקית.
מדוע הגדרת PHP נכונה היא קריטית?
ללא כוונון מדויק של הרחבות PHP ו-php.ini, Bitrix עובד בצורה לא יציבה. הנה ההרחבות החובה:
-
mbstring— תמיכה בקירילית -
gdאוimagick— שינוי גודל תמונות באמצעותCFile::ResizeImage() -
curl— בקשות HTTP (תשלומים, אינטגרציות, SMS) -
soap— אינטגרציה עם 1C -
zip— עדכוני שוק -
opcache— קריטי לביצועים -
pcre— מנוע תבניות רכיבים
פרמטרים של php.ini עבור Bitrix:
memory_limit = 256M ; минимум 128M, для импорта 1С — 512M
max_execution_time = 120 ; стандарт; для крон-задач — 0
upload_max_filesize = 100M ; загрузка файлов в медиабиблиотеку
post_max_size = 110M
max_input_vars = 10000 ; Битрикс-формы с множеством полей
default_charset = UTF-8
date.timezone = Europe/Moscow
opcache.enable = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 20000
opcache.revalidate_freq = 60 ; в prod можно 300
כיצד להגדיר הרשאות ו-open_basedir?
Bitrix דורש גישת כתיבה למספר תיקיות. הרשאות נכונות הן הבסיס לאבטחה ויציבות:
chown -R www-data:www-data /var/www/bitrix
chmod -R 755 /var/www/bitrix
chmod -R 777 /var/www/bitrix/bitrix/cache
chmod -R 777 /var/www/bitrix/upload
chmod -R 777 /var/www/bitrix/bitrix/managed_cachememory_limit = 256M ; минимум 128M, для импорта 1С — 512M max_execution_time = 120 ; стандарт; для крон-задач — 0 upload_max_filesize = 100M ; загрузка файлов в медиабиблиотеку post_max_size = 110M max_input_vars = 10000 ; Битрикс-формы с множеством полей default_charset = UTF-8 date.timezone = Europe/Moscow opcache.enable = 1 opcache.memory_consumption = 256 opcache.max_accelerated_files = 20000 opcache.revalidate_freq = 60 ; в prod можно 300 הוא מקור תכוף לשגיאות. אם הוא מופעל, הוסף נתיבי Bitrix:
open_basedir = /var/www/bitrix:/tmp:/var/log/php כיצד להגדיר MySQL עבור Bitrix?
MySQL דורש תשומת לב ל-chown -R www-data:www-data /var/www/bitrix chmod -R 755 /var/www/bitrix chmod -R 777 /var/www/bitrix/bitrix/cache chmod -R 777 /var/www/bitrix/upload chmod -R 777 /var/www/bitrix/bitrix/managed_cache (70% מ-RAM עבור InnoDB) ול-open_basedir. ב-MySQL 8.0, ברירת המחדל של open_basedir = /var/www/bitrix:/tmp:/var/log/php יכולה לשבור שאילתות ישנות. אנחנו בדרך כלל מגדירים innodb_buffer_pool_size עד ל-refactoring. חשוב גם: sql_mode — הגדר 256M עבור אינטגרציות 1C.
| פרמטר | ערך | הערה |
|---|---|---|
| innodb_buffer_pool_size | 70% RAM | עבור אינדקסים ונתונים |
| sql_mode | '' | השבת מצבי קפדנות |
| max_allowed_packet | 256M | עבור החלפת 1C |
| character_set_server | utf8 | קירילית ללא תקלות |
מהניסיון שלנו: מעבר לשרת חדש
לקוח — חנות מקוונת עם 10,000 מוצרים — עבר מאירוח משותף (PHP 7.4, MySQL 5.7) ל-VPS (PHP 8.1, MySQL 8.0). לאחר המעבר, הקטלוג לא הוצג, והלוגים הראו ONLY_FULL_GROUP_BY ו-sql_mode = ''. הסיבה: קוד תבנית ישן השתמש ב-API ישן של MySQL שאינו תואם ל-PHP 8. הפעלנו max_allowed_packet בסביבת הפיתוח, תיקנו קריאות מיושנות, והחלפנו ב-Notice: Undefined variable. גם הגדרנו זמנית mysql_num_rows(): Argument #1 must be of type mysqli_result ב-MySQL 8 עד ל-refactoring. לאחר הגדרת מטמון דרך Redis, זמן יצירת הדף הצטמצם בחצי. חיסכון במשאבי שרת היה כ-30%. בנוסף, זמן ביצוע הסוכנים ירד ב-50%, מה שביטל את הצורך בשרת נוסף.
מה כוללת הגדרת סביבת שרת עבור 1C-Bitrix
- ניתוח התשתית הנוכחית — בדיקת גרסאות, תצורות, תאימות.
- התקנה והגדרה של התשתית — PHP, MySQL, Nginx, Redis, Memcached.
- אופטימיזציה של
error_reporting = E_ALLו-$result->num_rows— מותאם לעומס הפרויקט שלך. - הגדרת הרשאות —
sql_mode = '',php.ini,my.cnf. - בדיקות ביצועים — בדיקות עומס, אימות מטמון.
- תיעוד והדרכה — אנו מוסרים גישה, תצורות והוראות תחזוקה.
כיצד אנו עובדים: שלבי העבודה
- ניתוח הסביבה הנוכחית ודרישות הפרויקט.
- תכנון התשתית היעד תוך התחשבות בעומס ובתקציב.
- יישום: התקנה והגדרה של כל הרכיבים.
- בדיקות: פונקציונליות, עומס, אינטגרציה.
- השקה ותמיכה: מסירת תיעוד, סיוע לאחר ההשקה.
לוחות זמנים משוערים
- פרויקט סטנדרטי (VPS, ללא מעבר) — 1–2 ימים.
- פרויקט מורכב (מעבר, תשתית לא סטנדרטית) — 2–3 ימים.
- תמיכה מלאה לאחר ההשקה — החל מיום אחד בחודש.
הזמן הגדרת סביבת שרת במפתח מלא עבור 1C-Bitrix. נבחן את הפרויקט שלך תוך יום אחד. צור קשר — נבחר את התשתית האופטימלית לעומס שלך.

