-
Notifications
You must be signed in to change notification settings - Fork 18
FAQ issue
tolizhan edited this page Aug 3, 2022
·
10 revisions
可以尝试 "chmod -R 777 data", "chown -R 用户 data", "chgrp -R 用户组 data" 来解决问题
mysql 帐号分配 ROCESS 权限后, 框架会抓取死锁日志
在网络正常的情况可能是IP6的问题, 在 /etc/resolv.conf 加上 options single-request-reopen 参数
一, 将所有 kv 配置成非files模式, 如redis模式, 注意 default 和 _ofSelf 有默认配置
二, 减少不必要 SESSION 生成, 如serv层的API, 可以通过 _of.session.autoStart 配置
三, SESSION切到非files模式, 如kv(轻度依赖磁盘)或db(不依赖磁盘), 最好用cookie绑定将files分布式独立存储
四, 动态计划任何切换到db模式, _of.com.timer.task
设置响应头 Cache-Control 为 no-cache 便可, 如: apache 配置方法
#开启 mod_headers 模块 LoadModule headers_module modules/mod_headers.so#禁止css与js文件浏览器缓存 <FilesMatch ".(css|js)$"> header set Cache-Control "max-age=0, no-cache" </FilesMatch>
一, 设置"脚本超时"排查代码死循环, 超时后错误日志中会提示代码位置
set_time_limit(60);二, 为网络请求函数设置"响应超时"排查网络异常, "脚本超时"对"响应超时"无效
//不包含CURL的响应超时 ini_set('default_socket_timeout', 60);三, 上述无效时, 添加"调试代码", 记录每个节点位置, 再分析排查//CURL 响应超时(60s) curl_setopt($ch, CURLOPT_TIMEOUT, 60);
//file_get_contents 响应超时(60s) file_get_contents(URL, false, stream_context_create(array( 'http' => array( 'timeout' => 60 ) )));
//推荐 of_base_com_net::request 默认default_socket_timeout超时设置 of_base_com_net::request(URL);
linux 查看异步进程 printf '%b\n\n' $(ps -ef | grep index.php | sed 's/ /%20/g;s/%/\x/g')
手册地址 http://phpof.net/
- 入门指引
-
疑难解答
- 部署时会遇到的那些常见问题
简单却容易忽视 - 框架内置有哪些管理界面
生产模式进入界面需用 __OF_DEBUG__ - 如何定制不同的架构模式
通过配置入口文件中调度方法的参数即可 - 如何面向命名空间开发
of_xx 类可以按照命名空间方式调用 - 如何设置不同的部署模式
通过_of.debug设置 开发,测试,生产 模式 - 为什么控制层类文件要返回true
这是防止非法访问的方法之一 - 为什么传到视图层的变量会被编码
这是因为 XSS 安全防范的原因 - 为什么框架没有SQL构造器
因常规方案牺牲了性能又未很好解决问题 - 如何快速开发用户及权限管理功能
单点登录(SSO)模块因此而存在 - 怎么在系统的基础上扩展底层功能
三点: 扩展开发, 预先加载, 底层钩子 - 怎么使用 Composer 依赖管理工具
框架已集成, 默认关闭状态
- 部署时会遇到的那些常见问题
- 组件使用
- 集成插件
- 扩展开发
- 开发手册