Cum se dezactivează modul strict în forjă MySQL laravel (ubuntu), laravel în limba rusă

modul strict a apărut în mai multe MySQL de la versiunea 5.1, dar în versiunea 5.7 a devenit activat în mod implicit. Dacă ați actualizat recent server, iar aplicația se oprește brusc de lucru, ar putea fi cauza tocmai acest mod.

În Laravel puteți rezolva direct în codul: database.php deschide fișierul de configurare și adăugați cheie strict la false. Dar, dacă nu utilizați aplicație Laravel (ne confruntăm cu această problemă în CodeIgniter și CraftCMS), nu va avea o astfel de oportunitate. Să ne uităm la modul în care puteți dezactiva modul strict la nivel global pe orice server Laravel Forge (și orice alt server Ubuntu).

Fișierul de preferințe

De fapt, MySQL verifică cele cinci locuri diferite în prezența fișierelor de configurare. Așa că v-ar recomanda pentru a face modificări în mai multe locuri simultan. controale MySQL:
1. /etc/my.cnf
2. /etc/mysql/my.cnf
3. SYSCONFDIR / my.cnf
4. $ MYSQL_HOME / my.cnf
5.

/.my.cnf există pentru fiecare utilizator, iar al treilea și al patrulea configurările depind de caracteristicile mediului dumneavoastră. Prin urmare, să vedem una din primele două configs.

În mod implicit, fișierul de configurare Laravel Forge MySQL situat în /etc/mysql/my.cnf. Deci să punem modificările noastre acolo. Conectează-te prin SSH la server și folosind Vim sau Pico, edita acest fișier.

linia

Dacă defilați în jos un pic de fișier, veți găsi secțiunea [mysqld]. Vom adăuga o nouă sql_mode cheie. În MySQL 5.7 valorile implicit pentru această cheie sunt:

modul strict este comutat valoarea STRICT_TRANS_TABLES. Trebuie să reparăm sql_mode și să-l la fel ca și valoarea implicită, dar fără regim strict.

Gata! Salvați fișierul și reporniți MySQL. În linia de comandă, acesta va fi ceva de genul restartare sh sudo /etc/init.d/mysql. sau interfață Laravel Forge, deschide serverul, faceți clic pe Restart Services pictograma din partea de jos, și selectați Repornire MySQL.

Atunci când se utilizează CraftCMS, precum și unele versiuni Laravel, poate fi necesar să dezactivați opțiunea și «ONLY_FULL_GROUP_BY».

Credeți că, dacă acest material este util? Da Nu

După ce faceți upgrade la lansarea Ubuntu 16.04
(Versiune server: 5.7.12-0ubuntu1.1 - (Ubuntu)
Apache / 2.4.18 (Ubuntu)
extensie PHP: mysqli
PHP versiune: 7.0.4-7ubuntu2.1)
Am fost în căutarea ce să facă cu mușchi
(Practic nimic nu a funcționat)
Sfatul tău a dus la funcționarea completă
aplicații web vechi cu noua versiune a mușchiului
Voi adăuga doar că este necesar doar pentru a face modificări în fișierul de configurare
/etc/mysql/mysql.conf.d/mysqld.cnf
În mod specific, eliminând opțiunea
STRICT_TRANS_TABLES
ONLY_FULL_GROUP_BY
aplicații, cum ar fi câștigate
Piwigo, moodle, GLPI, m etc.
Vă mulțumim pentru cunoștințele specifice și adecvate.

Statistici: Simboluri - 2 201/1 837, fără spații (1 731/1 459 fără codul). Cuvinte - 273