浏览模式: 普通 | 列表
php里面相关函数比较多,但是比较简洁还是 substr_count() >0 来判断比较方便


substr_count()函数本是一个小字符串在一个大字符串中出现的次数:
$number = substr_count(big_string, small_string);
正好今天需要一个查找字符串的函数,要实现判断字符串big_string是否包含字符串small_string,返回true或fasle;
function check_str($str, $substr)
{
   $nums=substr_count($str,$substr);
   if ($nums>=1)
   {
     return true;
   }
   else
   {
     return false;
   }
}
先检查是否开启了fileinfo
php -i|grep fileinfo

没有安装的话,进入php源码中的fileinfo目录来生成fileinfo.so,不同的版本,路径会有所不同,请根据实际情况,找到对应的目录。
cd /home/ming/lnmp1.3-full/src/php-7.0.7/ext/fileinfo/
执行phpize命令 >
[danger]注意,该命令一定要在上面说到的fileinfo目录下执行
/usr/local/php/bin/phpize
如果执行成功,会有类似下面的信息
Configuring>for:
PHP Api Version:20151012
Zend Module Api No:20151012
...

阅读全文…
php.ini 中写错了open_basedir的允许目录,默认是 C:\windows\temp
open_basedir = "C:\windows\tmp;"
改为
open_basedir = "C:\windows\temp;"



;upload_tmp_dir =
改为
upload_tmp_dir = "C:/Windows/Temp"


其他知识:
$_FILES['file']['error']

其值为 0,没有错误发生,文件上传成功。

其值为 1,上传的文件超过了 PHP.ini 中 upload_max_filesize 选项限制的值。

其值为 2,上传文件的大小超过了 HTML表单中 MAX_FILE_SIZE 选项指定的值。
...

阅读全文…
Zend Optimizer/3.3.3 解密加代码优化,提高PHP应用程序的执行速度,显著降低服务器的CPU负载。
Zend Guard Loader/5.5.0/6.0 解密加代码优化,提高PHP应用程序的执行速度,显著降低服务器的CPU负载。

PHP 5.3.X 开始 Zend Optimizer 正式被 Zend Guard Loader 取代了。安装方法有所不同,以下是安装 Zend Guard Loader的具体方法:

下载地址:ZendGuardLoader-php-5.3-Windows.zip

下载好后解压压缩包,找到 ZendGuardLoader-php-5.3-Windows\ZendServer\lib\loader\php-5.3.x 目录下的 ZendLoader.dll 文件,将它放到你的php目录下ext下:[img]attachments/...

阅读全文…

gbk下json_encode,中文返回null的问题

[ 2019-01-18 12:51:54 | 作者: admin ]
p.s. 还是可以先将gbk中文转utf8再使用json_encode函数
                if($charset =="gbk"){
                     //gbk参数全部转utf8
                     $_POST = $this->array_iconv($_POST,'utf-8','gbk//IGNORE');
                     $_GET = $this->array_iconv($_GET,'utf-8','gbk//IGNORE');


                     //gbk数组转json
                     $data = array("city"=>"杭州");
                     $data = $this->array_iconv( $data ,'gbk','utf-8//IGNORE');
...

阅读全文…
摘录:https://www.cnblogs.com/kenshinobiy/p/7470674.html

约定几个目录
/usr/local/php/sbin/php-fpm
/usr/local/php/etc/php-fpm.conf
/usr/local/php/etc/php.ini

一,php-fpm的启动参数

#测试php-fpm配置
/usr/local/php/sbin/php-fpm -t
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf -t
  
#启动php-fpm
/usr/local/php/sbin/php-fpm
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini
...

阅读全文…
.p.s.最好是转为相同的类型再比较,都转成字符串或者数字


1、==符号是自动转成相同的类型后再进行
例如:
$a = 9;
$b = '9b27c7138797df11684414916a4138e0' ;
echo ($a==$b);
结果是 1 ,因为$b被自动转类型了 $b = intval('9b27c7138797df11684414916a4138e0' )=9
另外 echo ("太平"==0) 结果也是1,所以涉及到不同类型字符串比较一定看看是否会出现没有想到的问题



2、==运算符的大数据溢出问题,如果大于16位会溢出,需要使用===替代
例如:全是17位,结果不一定会正确
var_dump("14210022800015700"=="14210022800015701"); //bool(true)
...

阅读全文…
1、问题

  php代码写好之后执行发现居然没有生效,打断点,改代码、刷新都没有达到预期的效果。但是间隔60秒之后刷新就看到效果了,或者删除文件就里面见效。

2、原因

  从phpinfo()页面输出搜索"60",发现了这个参数opcache.revalidate_freq=60。原来是Opcache模块设定了60秒缓存时间,需要60秒后才重新生成操作码。详细可见《深入理解PHP Opcode缓存原理》

3、解决方案

  将参数opcache.revalidate_freq设置为0,重启php-fpm:
service php-fpm restart



查看opcache状态
php -i |grep opcache

// 结果如下,可以看出opcache.enable => On,处于开启状态
Configure
...

阅读全文…