用户
 找回密码
 入住 CI 中国社区
搜索
楼主: ZZB
收起左侧

在SAE上遇到the --read-only

[复制链接]
发表于 2013-4-1 18:42:52 | 显示全部楼层
ZZB 发表于 2013-4-1 16:27
我现在就是在application\\config\\database.php 注释掉了从库地址,暂时还一切正常。但如果可以,我还是希 ...

我看了一下源码,并且看了一下相关资料,确定是SAE的mysql的从库不能写只能读。
所以要先判断SQL是写入还是读取,并且 CI for SAE 已经有相关判断语句,正常来说不会出现你那个错误。
你还得贴一下代码,看看为什么判断SQL读写出了问题。
发表于 2013-4-2 10:49:33 | 显示全部楼层
ZZB 发表于 2013-4-1 16:14
直接在SAE上面测试的。
如果SAE不会自动判断的话,那么我们在进行读写操作时应该怎么处理呢? ...

ci 2.1.3 for sae 已经在框架里面有判断了(为sae改写的), 所以不需要顾虑这个问题.
直接使用 已经有用到主从库了
 楼主| 发表于 2013-4-3 11:04:15 | 显示全部楼层
月夜风 发表于 2013-4-2 10:49
ci 2.1.3 for sae 已经在框架里面有判断了(为sae改写的), 所以不需要顾虑这个问题.
直接使用 已经有用到 ...

能否告知一下框架哪部分在执行这个判断?
 楼主| 发表于 2013-4-3 11:13:29 | 显示全部楼层
月夜风 发表于 2013-4-2 10:49
ci 2.1.3 for sae 已经在框架里面有判断了(为sae改写的), 所以不需要顾虑这个问题.
直接使用 已经有用到 ...

application\database\DB_driver.php  的 simple_query函数
application\database\drivers\mysql\mysql_driver.php 的 db_connect()函数

我看了下应用里面的这部分,没看到问题……我基本就是下载了CI_FOR_SAE,然后把我自己的controller、model、view放进去,再修改了下config一些配置而已
发表于 2013-4-3 13:11:10 | 显示全部楼层
ZZB 发表于 2013-4-3 11:13
application\\database\\DB_driver.php  的 simple_query函数
application\\database\\drivers\\mysql\\mysql_d ...

问题肯定是出在判断你的 SQL 是读还是写这里出了问题,所以你得提供你的 SQL 语句才能找到问题。
正常来说,是会写操作主库,读操作从库。
 楼主| 发表于 2013-4-3 14:51:51 | 显示全部楼层
Hex 发表于 2013-4-3 13:11
问题肯定是出在判断你的 SQL 是读还是写这里出了问题,所以你得提供你的 SQL 语句才能找到问题。
正常来 ...

我都不知道要提供什么代码了。我直接使用$this->db->insert();
发表于 2013-4-3 16:48:17 | 显示全部楼层
ZZB 发表于 2013-4-3 14:51
我都不知道要提供什么代码了。我直接使用$this->db->insert();

你用的是 AR 呀,这个可能是 BUG,我研究下。
发表于 2013-4-3 17:12:06 | 显示全部楼层
ZZB 发表于 2013-4-3 14:51
我都不知道要提供什么代码了。我直接使用$this->db->insert();

我实际运行了一下 $this->db->insert(); 没有报错。
我觉得不是这个问题引起的,还需要你提供实际出错的代码,我好找出问题原因,谢谢。
发表于 2013-4-4 09:33:27 | 显示全部楼层
最好贴出指向这部分的上下文代码. 一起看看是什么问题.

因为我也有在实际sae中用这个框架 暂时没见过这个问题
 楼主| 发表于 2013-4-4 11:01:20 | 显示全部楼层
Hex 发表于 2013-4-3 17:12
我实际运行了一下 $this->db->insert(); 没有报错。
我觉得不是这个问题引起的,还需要你提供实际出错的 ...

下面是我一个model中的方法
  1. function login($email,$data){
  2.         $this->db->where('email', $email);//14行
  3.         $this->db->update('user',array('login_time'=>date('Y-m-d H:i:s')));     //15行        
复制代码
报的错误是
Error Number: 1290

The MySQL server is running with the --read-only option so it cannot execute this statement

UPDATE `user` SET `login_time` = '2013-04-04 10:52:57' WHERE `email` = '1111@gmail.com'

Filename: /data1/www/htdocs/333/xxxxx/2/models/yyyy.php

Line Number: 15

本版积分规则