模型-> 保存函数强制将整数参数绑定到 CentOS 6 上的 varchar 列

Model->save function forced bind integer param to varchar column on CentOS 6

我正在开发 Laravel 应用程序。 我在向 mysql.

插入数据时遇到了麻烦

table,我打算插入,‖ 命名为'savetest',如下所示。

id    int(11)
token varchar(40)
tmp   varchar(128)

这是一个结果'show create table savetest'

CREATE TABLE `savetest` (
   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
   `token` varchar(40) NOT NULL COMMENT 'access token',
   `tmp` varchar(128) NOT NULL COMMENT 'tmp',
   PRIMARY KEY (`id`)
 ) ENGINE=MyISAM AUTO_INCREMENT=91 DEFAULT CHARSET=utf8

型号如下

class SaveTest extends Eloquent
{
    protected $connection = 'vmspapp';

    protected $table = "savetest";

    // public $timestamps = false;

  /**
   * The name of the "created at" column.
   *
   * @var string
   */
  const CREATED_AT = null;

  /**
   * The name of the "updated at" column.
   *
   * @var string
   */
  const UPDATED_AT = null;
}

还有插入数据的代码,就这样

$testee = new SaveTest();
$testee->token = "test";
$testee->tmp = "ok";
$testee->save();

执行完上面的代码后,在下面插入数据

id : 1
token : test
tmp : 0

似乎最后一个绑定参数强制转换为整数值。

更奇怪的是,当我在另一个基于 AWS 构建的环境中尝试这些时, 插入成功。 还有另一个环境。

环境成功1个,

ec2 Amazon Linux AMI 2014.09.1 t2-micro
php 5.4.36

环境成功2个,

CentOS 5.5
php 5.4.26

环境失败是,

CentOS 6
php 5.5.20

有谁知道为什么会这样以及如何解决这个问题?

我最近遇到了这个问题,只是Zend Cache过时了。