ThinkPHP项目在SAE下的部署
来源:互联网 发布:淘宝一元换购怎么做 编辑:程序博客网 时间:2024/05/01 09:39
ThinkPHP 3.2版本以上支持直接将项目文件夹移植到SAE环境中即可
请在SAE中开启MYSQL服务、MEMCACHE服务、STORAGE服务(注意必须开启MEMCACHE服务才可正常运作)
1、隐藏入口文件index.php
因为SAE不支持.htaccess文件,可以在项目的根目录建立config.yaml文件,写入下面的代码,即可隐藏入口文件
2、数据库连接
在SAE中创建MYSQL数据库,在ThinkPHP的配置文件config.php中添加如下代码,连接数据库
3、上传文件(图片)
在SAE中开启STORAGE服务,创建一个domain用于存放上传的文件
例子:
<?php//SAE环境下,上传图片$files = $FILES['fruit_img'];$name = 'fruit-'.time().'.jpg';$form_data = $files['tmp_name'];$s2 = new \SaeStorage();$img = new \SaeImage();$img_data = file_get_contents($form_data);$img->setData($img_data);$img->resize(200,200);//图片缩放为200*200$img->improve();//提高图片质量的函数$new_data = $img->exec();//执行处理并返回二进制数据$s2->write('fruitimg',$name,$new_data);//保存至名为fruitimg的SaeStorage中$url = $s2->getUrl('fruitimg',$name);//从SaeStorage中获取图片链接//将该图片的链接地址$url保存至数据库,直接调用即可//注意,如果提示not find SaeStorage()或者SaeImage(),请确认是否加了\?>
4、IO操作
出于安全考虑,SAE限制了本地的IO操作,可以使用TmpFS功能,但其生命周期同于PHP请求,也就是当PHP请求完成时,所有写入TmpFS的临时文件都会被销毁,TmpFS只是本地临时文件,不是共享存储
解决办法:可以使用SAE提供的Wrappers(使用前必须开启KVDB服务)
例子:
保存每个访问用户的时间戳
<?php//这里的information.txt相当于一个键值$file = "saekv://information.txt";if(!file_exists($file)){file_put_contents($file,time());}else{$n = file_get_contents($file)."&".time();file_put_contents($file,$n);}echo file_get_contents($file);//删除该文件(使用SAE提供的KVDB数据库删除方式)$kv = new \SaeKV();$kv->init();if($kv->delete('information.txt')){echo "删除成功";}else{echo "删除失败";}?>
参考地址:
http://document.thinkphp.cn/manual_3_2.html#sae
http://www.sinacloud.com/doc/sae/php/index.html
0 0
- ThinkPHP项目在SAE下的部署
- thinkphp在新浪SAE平台的部署
- thinkphp在新浪SAE平台的部署
- 在SAE部署基于thinkphp时,入口文件的问题
- ThinkPHP部署于SAE
- 一步步在SAE 部署自己的python项目
- Nginx 下部署ThinkPHP项目的办法
- 【总结】SAE下thinkphp的cookie
- SAE下的ThinkPHP问题记录
- 在sae上部署J2ee项目入门
- SAE部署Spring项目遇到的坑
- thinkphp的SAE配置
- THINKPHP 验证码类在SAE上的使用
- 在SAE上轻松部署一个javaEEWeb项目总结
- Thinkphp部署到sae注意问题
- WordPress for SAE在Windows下使用SVN部署代码
- ThinkPHP的SAE开发注意事项
- javaEE项目部署到SAE
- 数组名取地址 http://www.oschina.net/question/234345_48794?fromerr=KZCzKcSM
- HandlerInterceptor @Autowired报 null
- test
- 腾讯云新购买后的基本配置
- 验证算法
- ThinkPHP项目在SAE下的部署
- C/C++ 之 restrict关键字
- Company BDui 面试 笔试 : 从10个已按从大到小排列好的数组中,求top 15个最大的数
- 62 You have enabled backup optimization in RMAN. You issue the following RMAN command to configure a
- Java虚拟机(一)内存管理子系统
- enum状态机_demo
- java多线程,多个客户端之间发送文件
- 【openjudge】马走日
- 系统滴答定时器(systick)应用