<?php
# 集成项目的大部分配置,此为默认设置。环境不同,以下的配置也有可能不同,可以根据项目名建立配置文件

# 基本配置
$config['base'] = array
(
	# 项目部署的相对路径(部署在服务器的根目录,如果不定义DEVER_PROJECT_NAME,则本项必须启用并有效)
	'path' => DIRECTORY_SEPARATOR . 'workspace' . DIRECTORY_SEPARATOR,

	# 访问assets目录的物理路径
	'assets' => DEVER_APP_PATH . 'assets' . DIRECTORY_SEPARATOR,

	# 访问data目录的物理路径
	'data' 	=> DEVER_PATH . 'web' . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR,

	# 访问当前项目目录的物理路径,如果项目和dever类库在一个目录中,则为DEVER_PATH,如果不在,则为DEVER_APP_PATH,当然也可随意更改,这里目前只影响合并操作
	'workspace' => DEVER_PATH,

	# 是否启用静态资源域名动态化,启用之后,静态资源的域名将动态加载,适合使用多个域名或publish启用
	'assets_domain' => true,
	
	# 定义api的token明文,如果和其他业务有合作,建议使用系统自带的接口api,自带加密解密程序。
	'token' => 'dever_api_2016',
	
	# 是否启用nocache,如果是互动类的项目且主域增加了cdn,建议开启
	'header-cache' => false,

	# 关闭自助建表,生产环境建议开启,开启之后无法对数据表进行更新操作
	//'create' => true,
	
	# 是否开启强制刷新页面缓存,值为$_GET的key值
	'template-cache' => 'dever_template_cache',
	
	# 是否开启手动更改模板,允许通过$_GET的方式来更改当前模板,值为$_GET的key值,默认关闭
	//'template' => 'dever_template',
	
	# 开启用户触发cron,主要用于无法加到系统计划任务的虚拟主机,必须安装manage组件,谨慎开启,会稍微影响程序执行效率
	//'cron' => true,
	
	# 是否开启mysql自助优化功能,开启后,会记录所有where条件和order的字段,可以方便的在后台进行分析、增加索引,必须安装manage组件
	'opt' => true,
	
	# 是否开启sql自动优化,将sql中的select * 转换为 select a,b形式,将sql中的where条件按照索引从左到右自动排序,必须打开上述的opt选项,数据量大时建议打开。
	//'sql' => true,

	# publish 是否发布,此项开启后,系统不会检测service(意味着不用将service打包上线),适合生产环境,并能对代码起到一定的加密保护。
	//'publish' => true,
);

# 数据库配置
$config['database'] = array
(
	'type' => 'pdo',
	'host' => array
	(
		'read' => 'localhost:3306',
		'update' => 'localhost:3306',
	),
	'database' => 'dever',
	'username' => 'root',
	'password' => '123456',
	'charset' => 'utf8',
	# 持久化服务器,只负责保存数据,跟读写分离差不多,但可以更换不同的数据库类型
	/*
	'save' => array
	(
		'type' => 'pdo',
		'host' => 'localhost:3306',
		'database' => 'dever_test',
		'username' => 'root',
		'password' => '123456',
		'charset' => 'utf8',
	),

	# 迁移旧的数据库服务器,具体迁移规则请到old目录中定义
	'old' => array
	(
		'type' => 'pdo',
		'host' => 'localhost:3306',
		'database' => 'mazephp',
		'username' => 'root',
		'password' => '123456',
		'charset' => 'utf8',
	)
	
	# 换成mongodb
	array
	(
		'type' => 'mongo',
		'host' => '127.0.0.1:27017',
		'database' => 'farm',
	),
	*/
);

# 缓存配置
$config['cache'] = array
(
	# 启用mysql数据库缓存,这个缓存是根据表名自动生成,dever::load形式和service的all、one形式均自动支持,无需手动添加
	'mysql' => 0,
	# 启用页面缓存 会根据当前的url来生成缓存,相当于页面静态化。
	'html' => 0,
	# 启用数据级别缓存 这个缓存是程序员自定义的:Dever::cache('name', 'value', 3600);
	'data' => 3600,
	# 启用load加载器缓存
	'load' => 3600,

	# 缓存精细控制,可以根据缓存的key(mysql为表名、service为小写类名,规则是模糊匹配),来控制每一条缓存
	'load_key' => array
	(
		# 定义缓存名为auth.data的缓存时间
		'auth.data' => 200,
	),
	
	# 缓存清理的参数名,值为clear
	'clear' => 'dever_cache',

	# 是否启用key失效时间记录,启用之后,将会记录每个key的失效时间
	'expire' => true,

	# 缓存类型
	'type' => 'memcache',//memcache、redis

	# 缓存保存方式,支持多个数据源、多台缓存服务器
	'store' => array
	(
		array
		(
			'host' => '127.0.0.1',
			'port' => '11211',
			'weight' => 100,
		),

		/*
		array
		(
			'host' => '127.0.0.1',
			'port' => '11212',
			'weight' => 100,
		),
		*/
	),
);

# debug配置
$config['debug'] = array
(
	# 开启错误提示 生产环境建议禁止
	'error' => true,
	
	# 开始日志记录 暂时无效
	'log' => true,

	# 开始访问报告
	# 生产环境建议禁止或添加ip限制,多个ip用逗号隔开
	# 如禁止,值为false,下述shell也将失效
	# 值为2,则开启强制模式,任何输出都将打印debug
	'request' => Dever::ip(),

	# 设定打印访问报告的指令,值为request
	'shell' => 'dever_debug',
	# 以上指令,请通过&dever_debug=request来执行,如果你想设置断点或者打印当前业务逻辑下的sql,请直接用Dever::debug();打印数据

);

$host = DEVER_APP_HOST;
$assets = $host . 'assets/';
# host 设置
$config['host'] = array
(
	# 跟域名
	'base' 	=> $host,

	# cookie 域名
	'cookie' => '',
	
	# assets网络路径,会自动将assets替换为assets/模板
	'assets' => $assets,
	# public
	'public' => $assets . 'public/',

	# 后台管理系统的assets路径
	'manage' => $host . 'web/package/manage/assets/default/',
	
	# 合并之后的网络路径,填写之后自动合并资源,不填写则不合并,适合把资源放到云端
	'merge' => $host . 'web/data/assets/' . DEVER_PROJECT . '/',
	
	# 上传系统的上传路径的域名(不带action)
	'upload'=> $host . 'web/package/upload/?save',
	# 上传系统的访问域名
	'image'	=> $host . 'web/data/upload/',
	
	# 是否启用代理功能
	'proxy' => $host . 'web/application/plant/main/?data.proxy?',

	# 内部接口定义,Dever::load将自动转为这个配置,替换掉data/project/default.php里的数据
	'api' => array
	(
		//'module' => 'http://192.168.33.10/workspace/web/application/earth/module/?',
		//'upload' => 'http://192.168.33.10/workspace/web/package/upload/?',
		'test' => array('http://192.168.33.10/workspace/web/package/upload/', '/src/'),
		'test1' => 'http://test',
		'test2' => '/src/',
	),

	'api_server' => array
	(
		'type' => 'tcp',
	
		# 以下为tcp模式特有的配置
		# 是否使用后台运行
		//'backend' => 1,
		# 以下为swoole的配置
		'worker_num' => 1,

	),
);

return $config;