当前位置:Gxlcms > PHP教程 > yiisae该如何在SAE上部署

yiisae该如何在SAE上部署

时间:2021-07-01 10:21:17 帮助过:5人阅读

最近尝试在sae上面部署Yii,于是下载了yiisae1.1.3,解压并按照readme的说明,将yiisae下的framework复制到了yii/framework/下面,然后在protected/config/main.php中按照 https://code.google.com/p/yii-sae/作了一下配置,如下所示:
if(defined('SAE_TMP_PATH')){    //SAE 不支持I/O    $config['runtimePath'] = SAE_TMP_PATH;    //配置为 SAEDbConnection 则不必考虑用户名密码 并自动读写分离    $config['components']['db'] = array(            'class'=>'SAEDbConnection',            'charset' => 'utf8',        'tablePrefix'=>'tbl_',            'emulatePrepare' => true,            //开启sql 记录            'enableProfiling'=>true,            'enableParamLogging'=>true,            //cache            'schemaCachingDuration'=>3600,    );    //SAE不支持I/O 使用storage 存储 assets。 如果在正式环境,请将发布到assets的css/js做合并,直接放到app目录下,storage的分钟限额为5000,app为200000    //最新的SAE 不使用storage 而是在siteController中,导入了一个SAEAssetsAction,通过 site/assets?path=aaa.txt ,将文件内容
输出到web端,来访问实际的 aaa.txt 文件, $config['components']['assetManager'] = array('class' => 'SAEAssetManager','domain'=> 'assets'); //如果没有必要,不用修改缓存配置。 SAE不支持本地文件的IO处理 已经提供了memcache $config['components']['cache'] = array( 'class'=> 'SAEMemCache', 'servers'=>array( array('host'=>'localhost', 'port'=>11211, 'weight'=>100), ), );}

配置之后,挂到sae上访问,却会报诸如:
include(SAEMemCache.php) [function.include]: failed to open stream: No such file or directory
这样的类文件加载不了的错误(代码中第7和第22行的类),是不是我把这些目录和文件放错了地方导致的?还是得在别的地方再作另外的配置呢?我的目录结构是这样的:
|--1/
|--branches/
|--www/
|--assets/
|--protected/
|--...
|--...
|--yii/
|--framework/
|--base/
|--caching/
|--cli/
|--collections/
|--db/
|-- framework/
|--sae/
|--vendors/
|--YiiBase.php
|--yiilite.php
|--gii/
|--....
.....
|--vendors/
...
|--YiiBase.php
|--yiilite.php
|--....
.....


回复讨论(解决方案)

你开通了他的 memcache 服务吗?

你开通了他的 memcache 服务吗?
开通了

人气教程排行