thinkphp5 配置在sae,axios请求出现500的解决方法!

当thinkphp5部署在SAE平台时,使用axios发起请求遇到500错误。原因是SAE不支持文件写入,导致thinkphp无法写入日志并引发异常。解决方案包括安装thinkphp的SAE扩展,并在public/index.php中定义环境常量,在config.php配置文件中进行相应设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

thinkphp5 配置在sae,axios请求出现500!


但在Network中是有数据请求到的。


在直接访问php的function 也是可以正常渠道数据,但一瞬间也出现500,数据出来就没有了。

这是因为:sae不支持文件写入,所以thinkphp没法写入日志,然后异常了

这是官方的参考:https://www.kancloud.cn/manual/thinkphp5/175109

-------------------------------------------华丽三八线--------------------------------------------------------------------

默认的 ThinkPHP 5 需要写入到本地文件,这在 SAE 上是不允许的。ThinkPHP 团队提供了 SAE 的扩展:

https://github.com/top-think/think-sae 把 SAE 扩展的 src 目录下三个 PHP 文件复制到 tp5/thinkphp/library/think/sae 下。

这里 sae 这个目录是不存在的,需要自己创建

在 public/index.php 里定义一个常量来标识是不是在SAE环境中:

1 define("IN_SAE", defined("SAE_MYSQL_USER"));

然后在配置文件config.php里,可以这样:

1 'log'=>[
2     'type' => IN_SAE ? '\think\sae\Log' : 'File',
3 ]
---------------------注意的一点:官方写法是:---------------------

'log'       =>  [
    'type'  => '\think\sae\Log',
]

'template'  =>  [
    'type'          =>  'Think',
    'compile_type'  =>  '\think\sae\Template',

]
'cache'     =>  [
    'type'  =>  '\think\sae\Cache',
]
按照官方写法的话! 如果你没开新浪云的 Memcached缓存就会报错。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值