存档

文章标签 ‘php’

php-fpm不输出php错误日志

2016年12月18日 没有评论

使用如下php的配置 php-fpm.conf [global] pid = /usr/local/php/var/run/php-fpm.pid error_log = /usr/local/php/var/log/php-fpm.log log_level = notice[www] listen = /tmp/php-cgi.sock listen.backlog = -1 listen.allowed_clients = 127.0.0.1 listen.owner = www listen.group = www listen.mode = 0666 user = www group = www pm = dynamic pm.max_children = 20 pm.start_servers = 10 pm.min_spare_servers = 10 pm.max_spare_servers = 20 request_terminate_timeou...

分类: 编程语言 标签: ,

mongodb非skip高效php分页类

2014年1月19日 1 条评论

mongodb分页skip+limit分页要先查出所有结果再去跳过,这样如果查询页面越往后效率越低。 如果能够通过查询条件查出每页结果的最后一条记录,在用最后一条记录作为查询条件去查下一页,这样每次都查询页面size条记录,效率子让不会差。 具体代码如下:包含mongodb.class.php, page.class.php, test.php mongodb.class.php mongodb 操作类 <?php function show_error($message, $status_code = 500, $heading = 'An Error Was Encountered') { echo $message, $status_code,PHP_EOL...

分类: 编程语言 标签: , , ,

mcrypt.h not found. Please reinstall libmcrypt”的解决方法

2014年1月7日 6 条评论

centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包 有两种方法解决,一种是使用第三方源,这样还可以使用yum来安装,简单方便,坏处是第三方源多少有中不可靠的感觉。 解决办法一 1、安装第三方yum源 wget http://www.atomicorp.com/installers/atomic sh ./atomic 2、使用yum命令安装 yum  install  php-mcrypt  libmcrypt  libmcrypt-devel       解决办法二、 使用php mcrypt 前必须先安装Libmcrypt libmcrypt源码安装方法: cd /usr/local/src wget http://softlayer.dl.sourcef...

分类: linux 标签: ,

php常用函数

2013年11月18日 没有评论

1.判断变量是否存在且不为空,检查post和get变量时使用。 isset() empty() 2.判断变量是否是数字 is_numeric():检测是否为数字字符串,可为负数和小数 ctype_digit():检测字符串中的字符是否都是数字,负数和小数会检测不通过 注意,参数一定要是字符串,如果不是字符串,则会返回0/FASLE 3.判断变量是否是数组 is_array() array系列函数 4.采集网页文本 file_get_contents curl_exec系类函数 5.判断函数是否存在 function_exists 6.输出页面编码 header("Content-type: text/html; charset=utf-8"); 7.正则内容匹配 preg_match() ...

分类: 编程语言 标签: ,

php相对路径和绝对路径

2013年11月17日 5 条评论

一个好的php代码,无论放到windows还是linux,不同版本的php上,都能正确的输出结果,才是一个好代码。 说起来容易的事,做起来并不是很轻松,很多时候写代码都是功能导向,当前环境,要赶时间立马见效果,基本就是怎么方便怎么来了。 但是为了写出一个好的代码和后期减少调试时间,写每一个代码都要斟酌考虑是否能够适应你所能想到的困难,每次解决一个,日积月累下来,你的代码就会伸缩自如了。 相对路径是对于当前代码文件所在文件夹来说。 绝对路径是相对于根文件夹来说。 当代码需要依赖别的文件时,就需要统一代码的包含路径。 ...

分类: 编程语言 标签: , ,

phpMyAdmin安装配置教程

2013年10月12日 1 条评论

phpMyAdmin安装前提条件: * PHP 5.2 or later(包含mysqli、mbstring、mcrypt扩展) * MySQL 5.0 or later *可用的浏览器 下载安装包,解压即可使用 wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.0.7/phpMyAdmin-4.0.7-all-languages.tar.gz tar -zxvf phpMyAdmin-4.0.7-all-languages.tar.gz mv phpMyAdmin-4.0.7-all-languages phpMyAdmin 123 wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.0.7/php...

分类: 编程语言 标签: ,

通过php安装Imagick扩展给动态gif图片打水印

2013年9月23日 没有评论

一直以来php处理图片都是以gd为主流,直到近些年Imagick的使用才渐渐变多。 gd通常用来缩放图片,给图片打水印等基本功能,对于复杂效果如制作图标按钮、图倒影等滤镜功能就会力不从心。 尤其对于有多帧图片的动态gif图打水印,如果使用gd像处理普通jpg那样去打水印,打完水印后的图片只剩下第一帧,没有动态效果。 Imagick就能很好的胜任这一点,使得php给动态gif图片打水印成为可能,而且它还具有内存占用小,画质高的特点。 下面是分别使用gd(左图)和imagick(右图)把图片缩放到256px效果,请注意查看图片的细节。下面我会详细介绍...

nginx php-fpm 输出php错误日志

2013年2月28日 7 条评论

nginx是一个web服务器,因此nginx的access日志只有对访问页面的记录,不会有php 的 error log信息。 nginx把对php的请求发给php-fpm fastcgi进程来处理,默认的php-fpm只会输出php-fpm的错误信息,在php-fpm的errors log里也看不到php的errorlog 原因是php-fpm的配置文件php-fpm.conf中默认是关闭worker进程的错误输出,直接把他们重定向到/dev/null,所以我们在nginx的error log 和php-fpm的errorlog都看不到php的错误日志。 调试起来就很痛苦了。解决nginx下php-fpm不记录php错误日志的办法: 1.修改php-fpm.conf中配置 没有则增加 ca...

分类: nginx 标签: , , , ,

php使用json_decode返回NULL

2012年11月13日 没有评论

php5.2以后自带json_decode函数,但是对json文本串的格式要求非常严格。 很可能使用该函数得到的返回值是NULL 可以使用使用json_last_error()函数获取到的返回值来帮助我们判断出问题的原因。 其中如果提示错误JSON_ERROR_SYNTAX(Syntax error),表示json串格式错误。 可以通过以下几个方式排错: 1. json字符串必须以双引号包含 $output = str_replace("'", '"', $output); 2. json字符串必须是utf8编码 $output = iconv('gbk', 'utf8', $output); 3.不能有多余的逗号 如:[1,2,] 用正则替换掉,preg_replace('/,s*([]}])/m', '$1', $...

分类: 编程语言 标签: ,

nginx中的try_files指令解释

2012年10月15日 6 条评论

try_files 指令的介绍比较让人摸不着头脑,经网上一番总结查看,try_files最核心的功能是可以替代rewrite。 try_files 语法: try_files file ... uri 或 try_files file ... = code 默认值: 无 作用域: server location try_files $uri $uri/ /index.php?q=$uri&$args; 1 try_files $uri $uri/ /index.php?q=$uri&$args;按顺序检查参数列出的文件是否存在,返回第一个找到的文件。结尾有斜线的  $uri/ 表示文件夹。...

分类: nginx 标签: ,