SAE部署ThinkPHP之七牛问题
在SAE平台上部署ThinkPHP时,遇到七牛问题。通过查阅资料和实践,发现有两种解决方法:第一种是使用Storage,创建一个Bucket并写入数据;第二种是使用Memcached,直接调用相关函数进行读写操作。具体代码如下:1. 使用Storage方法:在Storage中建立一个Bucket,例如叫maple,然后使用file_put_contents函数将数据写入到该Bucket的log.txt文件中。2. 使用Memcached方法:实例化一个Memcached后,可以直接使用相关函数进行读写操作,例如使用file_get_contents、fopen、fwrite等函数读取文件内容。

SAE部署ThinkPHP之七牛问题

七牛遇到的问题就比较简单了为了方便以后查阅方便我就直接上代码了. 在使用七牛官方PHP-SDK的时候在SAE平台配置好信息和编写好代码后一直出现

file_put_contents(/.qiniu_phpsdk_hostscache.json): failed to open stream:Permission denied

以上提示无权限问题导致. 都知道SAE是禁止I/O读写的但是file_put_content函数却没有被禁用.度娘一下得到很多个结果.整理记录下主要分为两种方法

第一种Storage
当数据量较大和不常用的情况下可以使用Storage,在Storage中建立一个Bucket例如叫maple 然后代码就可以这么写了
<?php
$file="saestor://maple/log.txt";
file_put_contents($file,$user);   
第二种Memcached

实例化一个Memcached以后就可以直接使用了,直接上代码

<?php
file_put_contents( 'saemc://'.PATH.'/mycode.txt','dummy test'); 
//这种方式对于本地读写其他函数如file_get_contents,fopen,fwrite等也同样适用,例如要想读去上面的文件只需要
file_get_contents( 'saemc://'.PATH.'/mycode.txt','dummy test');
//即可

好了该说正题了,七牛中我就遇到这个问题 直接上代码吧
Zone.php

<?php
//报错是在150行,但是调用的是hostCacheFilePath  
//直接将$home的路径改成上面第二种方法在上传文件搞定
private function hostCacheFilePath()
    {
        //$home = getenv('HOME');
        $home = "saemc://";
        return $home . 'qiniu_phpsdk_hostscache.json';
    }
咻兔哔
咻兔哔·2020年1月17日

本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处

推荐文章

构建现代化个人博客系统:技术亮点与创新实践
后端技术

构建现代化个人博客系统:技术亮点与创新实践

本文介绍了作者构建现代化个人博客系统的技术选型、架构设计和创新实践。核心亮点包括采用Go+Nuxt.js+Vue3技术栈,实现高性能、可扩展的博客平台;创新功能如AI智能摘要生成系统、高性能全文搜索、现代化文件上传系统;微服务化架构、容器化部署及多层次安全防护;性能优化策略如缓存策略、数据库优化和前端性能优化。此外,还展示了智能简历模块、Waline评论系统及多主题支持等特色功能,系统性能指标优异。作者分享了技术收获与未来规划,旨在帮助全栈开发者提升技术能力。

12月10日16
本站更换了新的技术栈
后端技术

本站更换了新的技术栈

本文介绍了基于Go+Nuxt.js+Vue3技术栈构建的现代化个人博客系统。该系统采用微服务架构,包含前台展示、后台管理和API服务三大模块,支持容器化部署,具备高性能与高可用性。后端使用Go、Gin、GORM等技术,前端采用Nuxt.js+Vue3+TailwindCSS,并集成AI智能摘要生成、全文搜索、文件上传等核心功能。系统注重安全设计,实施JWT认证、XSS防护等措施,同时通过Redis缓存、CDN加速等策略优化性能。整体架构展示了现代Web开发的最佳实践,为同类项目提供参考价值。

12月10日14
Gorm格式化时间输出的另一种实现
后端技术

Gorm格式化时间输出的另一种实现

Gorm在读取时间时默认带有时区,不符合常规的日期格式。本文提出了一种通过自定义结构体和使用Gorm的Hook方式来解决这个问题。作者首先定义了一个只包含时间字段的结构体,并使用`Str`后缀和`json`标签来指定时间字段只参与存储而不参与数据输出。接着,通过Gorm的Hook机制实现时间字段的格式化。虽然这种方法不是特别高明,但确实提供了一种有效的解决方案。

7月22日17
Golang三方库收集-不定期更新
后端技术

Golang三方库收集-不定期更新

以下是一些热门的第三方库,包括网络请求库、RPC库、Web框架、热重启库、定时任务库、获取机器状态库、JWT库、验证码库、邮件库、汉字转拼音库、消息队列库、随机数库、Redis客户端库、雪花 ID 生成器库、Excel处理库、WEB框架库、数据库库、配置库、REDIS库、工具包库、参数验证库、日志库、JSON库、协程池库和类型转换库。这些库各有特色,适用于不同的开发场景,值得一试。

7月28日7