我正在使用Lumen framework开发一个网站。
所有内容都经过配置并在本地完美运行。但是,远程服务器上的情况并非如此。
示例:
当我从数据库中恢复数据时,即使该列仅包含整数,本地的结果也是integer
,但在远程:string
。我必须在整数值之前指定(int)
以确保它们是整数。
在本地,我的所有类都属于命名空间。一切都在本地和远程工作,有时我发现自己Class 'blabla\blibli' not found
在本地,我使用Xampp(PHP版本5.6.14,MySQL版本5.0.11-dev)并删除,我在共享服务器OVH(PHP版本5.6.15,MySQL版本5.1.73)。
你有没有遇到过这种情况?有没有办法来解决这个问题?可能是要写的配置文件吗?
编辑:鉴于以下评论,似乎我的问题的答案实际上取决于操作系统的使用。
在本地,我正在使用Windows机器,而在远程,它是运行Linux的机器。对于某些规则,Windows似乎不那么麻烦,例如区分大小写。
答案 0 :(得分:3)
当我从数据库中恢复数据时,即使该列包含 只有整数,local中的结果是整数,但是在remote:string中。 我必须在整数值之前指定(int)以确保它们是 整数。
这是因为PHP不知道如何解释查询结果。没有关于如何解释列值的信息。要修复它并在PHP中具有正确的类型表示,您必须安装MySQL本机驱动程序(mysqlnd
)。
Here's a link to documentation page that explains how to do it
在本地,我的所有类都属于命名空间。一切都在当地工作 在遥远的地方,有时候我会发现自己没有班级'blabla \ blibli' 结果
根据评论,您似乎正在开发一个操作系统并在另一个操作系统上部署。由于Windows实际上
Windows对此类事情的宽容并不意味着它们更好或者Windows的麻烦更少(来自系统管理员POV,Windows是一场噩梦)。它只是意味着你不能懒惰并希望操作系统原谅所有内容并猜测你的代码是如何工作的。