sae 本地环境 mysql数据库_SAE本地环境与真实环境的差别

博主在文章中分享了在本地环境与真实环境进行PHP开发时遇到的不兼容问题,包括32位与64位PHP版本差异导致的64位整数支持问题,以及SaeMysql在本地环境的使用问题。解决方法包括设置应用名和使用特定的代码调用来适配本地环境。此外,还提到了本地环境对代码路径和IO函数的宽松限制与真实环境的区别,指出在本地测试时可能需要使用storage替代本地IO操作。
摘要由CSDN通过智能技术生成

其实从刚开始用的时候就发现本地环境和真实环境有不同,导致本地环境我都没怎么用。

1、本地环境的php是32bit版本的,真实环境是64bit的。这是我发现的第一个不相同的地方,就是因为这个,直接导致我的应用绝大部分调试工作都是在把代码上传到服务器后直接在线测试的。因为我做那个应用的时候需要用到64位整数,本地环境不支持。

2、saemysql使用的不同,今天在本地用了一下saemysql,本来以为直接拿以前线上的代码直接在本地环境中运行就可以的,结果发现不行。在线上的版本,只要直接

include_once('saemysql.php');

$mysql = new SaeMysql();

就可以使用了。但是在本地环境中这样的代码是有问题的,会提示重复声明saemysql:

Fatal error: Cannot redeclare class SaeMysql……

因为在本地环境的emulation文件夹中有saemysql.class.php这个文件。

所以把include_once('saemysql.php');注释掉,然后再运行,发现还是有错误,找不到数据库。再细看看,怎么数据库的名字变成了“app_”?正常应该是“app_应用名”才对,然后去看saemysql.class.php,有一个setAppname的方法,好吧,那就试一下吧,然后便成功了。所以在本地用saemysql的时候应该这样:

$mysql = new SaeMysql();

$mysql->setAppname('应用名');

以上只是在我的本地环境中出现的问题,不知道是否具有普遍性。

3、在本地环境中,你是可以随意使用代码路径的,所有的IO函数都可以使用,而在真实环境中,所有本地IO可能都被禁止,要用storage来代替。

因为本地环境用的不多,目前暂时发现这些。正在做的应用准备在本地环境测试,如果有新的发现再发上来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值