私のサイトは Hostinger の VPS ホスティング プラン 2 でホストされており、データベースには MySQL を使用しており、仮想マシンの OS は Ubuntu 18.04 です。
サイトの一部を機能させるには、MySQL をstrict mode
常にグローバルに無効にしておく必要があります。 ちなみに、私は現在サーバー側のみを管理しているため、このサイトで無効にする必要がある部分を修正することはできませんstrict mode
。 これらの修正は開発者側で行われ、最終的には開発者が対応することになります。
現在、私が直面している問題は、 を無効にするとstrict mode
、数時間 (または 1 日) 後に自動的に有効になってしまうことです。これは、Hostinger の VPS サーバーが定期的にサーバーを再起動するためと思われます。サーバーが再起動するたびに、MySQL がstrict mode
再度有効になります。
自分で再度オンにするまで、永久に無効にするにはどうすればいいでしょうかstrict mode
? もちろん、数時間ごとにオンにしたくないのですが... :)
編集: 現在、set global sql_mode='';
MySQL を無効にしていますstrict mode
。
答え1
以下のコマンドを使用して mysql strict モードを無効にすると、サーバーの再起動後に元に戻ります。
グローバル sql_mode を '' に設定します。
永続的に設定/無効にするには、mysql conf ファイルの値を編集する必要があります。
phpMySQL の mysql.cnf ファイル または/etc/my.cnfOSによって異なります。
次の行を見つけます。
sql_mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
以下の行に置き換えます。行が見つからない場合は、[mysqld] セクションの下に行を挿入します ([mysqld] セクションがない場合は作成してください)。
[mysqld]
sql_mode= ""
変更を有効にするには、MySQL サービスを再起動します。