如果我运行SELECT @@sql_mode
,我会在PHP中执行的查询中得到这个:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
如果我直接在mysql中运行SELECT @@sql_mode
或通过远程连接到服务器,我会得到:
NO_ENGINE_SUBSTITUTION
如果我在PHP中运行SET GLOBAL sql_mode=NO_ENGINE_SUBSTITUTION
然后SELECT @@sql_mode
(有或没有事务封装)我得到这个:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
我已将此添加到我的~/.my.cnf
,/etc/mysql/my.cnf
和/etc/mysql/mysql.conf.d/mysqld.cnf
文件中并重新启动MySQL但仍然没有影响:
[mysqld]
sql_mode="NO_ENGINE_SUBSTITUTION"
我尝试重启整个服务器。没有变化。
PHP从哪里获取MySQL配置?我没有其他my.cnf
文件可以告诉我。请帮忙
答案 0 :(得分:0)
这是由于Laravel <?php
if (isset($_SESSION['cid'])){
echo '<script>
$(document).ready(function(){
$("#uploadform").show();
$("#needlogon1").hide();
$("#needlogon2").hide();
});
</script>';
}
?>
配置将mysql设置为严格模式引起的。将database.php
更改为database.connections.mysql.strict
可解决此问题。