开启一系列慢日志,php-fpm和mysql

有台服务器最近连续假死,暂未找到原因,只好开启nginx访问日志和php-fpm、mysql慢日志。

nginx访问日志就不讲了,设置一下日志文件目录就可以了。

php-fpm慢脚本日志:

request_slowlog_timeout,慢日志时间,秒为单位,默认是关闭的,建议填30

slowlog,日志文件,默认也是关闭的

mysql慢sql日志:

long_query_time,慢sql时间,也是秒为单位,看你需求了,1-2秒都是可以考虑的

log-slow-queries,日志文件

nginx+php-fpm上传文件的大小限制

主要配置在php.ini里

file_uploads,默认应该是开启的,如果是off肯定是不能传了。

upload_max_filesize和post_max_size都是限制上传文件大小的。修改成适当的大小

还有一个很关键的配置,一般人我不告诉他,nginx.conf里还有个配置项client_max_body_size,这个很关键,如果文件大于这个配置,根本就到不了php那边。

thinkphp框架设计用户权限

thinkphp有几个常量在设计权限系统的时候,可能会用到,MODULE_NAME和ACTION_NAME,怎么翻译成可理解的中文呢?模块和行为?更好理解的说法是类和成员函数,thinkphp的每个链接都会对应某个类的某个成员函数,这两个常量就是类名(前缀)和函数名,比如有:

继续阅读“thinkphp框架设计用户权限”

推荐一个不错的php图形类pChart

基本上常用的图形都有了,出来的图片也还不错。不过拿来用,还是要改几个地方,主要是修改pchart类的Render方法,其默认是直接生成图片文件,将这个方法最后一行,imagepng函数第二个参数去掉,然后在这个函数前加一句:

header(“Content-type: image/png”);

这样就直接输出图片到浏览器,而不是存为文件了。

其次是中文的支持,因为其使用的默认字体库是tahoma.ttf,这个不支持中文,所以还要找个支持中文的字体,比如simhei.ttf,你的系统下字体目录里肯定有的,直接拷贝到pchart项目目录的Fonts目录里就可以了。

根据其提供的example,改写了几个图形,(thinkphp封装)供参考:

继续阅读“推荐一个不错的php图形类pChart”