php
o王o
....
展开
-
php使用位运算针对 mysql in 查询的优化
主要实现的功能:在数据库中存储一个累加完的值(val),通过使用 “位与” 运算,计算出这个值对应的是哪个选项。。 // val 为下方任意 pow 值相加 $val = 2 + 4; $labels = array( array('pow' => 1, 'title' => 'blue'), array('pow' => 2, 'title' => 'green'),原创 2020-12-10 20:05:06 · 235 阅读 · 0 评论 -
PHP高级初级的一些用法
①PHP自定义错误处理:class proException extends Exception{ //根据业务需求,自定义错误方法 /** * 获取错误信息 * @param int $type 类型 1=json 2=数组 * @return array */ public function getErrorInfo($原创 2018-01-10 11:50:28 · 672 阅读 · 0 评论 -
php队列 php-resque+redis使用详解
最近这几天在公司SDK接口项目使用到在插入数据库之前对其他平台的数据进行数据上报。 上报需要访问别的服务,比较耗时,会影响到正常的数据插入。因此用到了队列。收获:这次自己独立完成队列让我更明白compser的自动加载原理,以及PHP进程的相关内容、 队列说白了就是Job、Queue、Worker;其中Job负责处理对应事件的逻辑,Queue用于接收队列消息,Worker常驻内存,循环POP队列中原创 2017-11-20 23:17:29 · 3649 阅读 · 0 评论 -
php中函数前加&符号的作用
这两天公司要搭一个论坛,看dz的源码,发现了下面的这种写法calss discuz_application{ static function &instance() { static $object; if(empty($object)) { $object = new self(); } return转载 2017-11-09 15:57:47 · 918 阅读 · 0 评论 -
PHP安装,配置xdebuge,PhpStrom配置,自己写的
环境 centos6.5,Php7.0.4,xdebug2.5.5简单介绍下: 我本地环境为 windows7,用vm搭建了centos6.5,用smba共享出虚拟机的路径在window下敲代码。虚拟机ip:192.168.2.142 win7 ip: 192.168.2.81需要下载的软件:xdebug(下载对应php版本的软件https://xdebug.org,更新日志可以看到)开始安装原创 2017-09-18 18:09:57 · 745 阅读 · 0 评论 -
安装PHP扩展,提示checking Check for supported PHP versions... configure: error: not supported.
环境centos 6.5。php 7.0.4现在的问题是,本地环境已经是7.0.4但是提示版本不符合要求,如果说php本地版本本来就没有达到版本要求,则换扩展包,或者升级php本地的真实环境 [root@localhost xdebug-2.5.5]# php -v PHP 7.0.4 (cli) (built: Feb 24 2017 05:55:31) ( NTS ) Copyright原创 2017-09-18 14:31:59 · 3155 阅读 · 0 评论 -
memcache和memcached区别
在写这篇文章之前一直对memcache 、memcached模糊,相差一个字母,特此总结下:Memcache是什么?Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash表,Memcached自管理这些Hash表。转载 2017-08-31 14:40:17 · 10629 阅读 · 0 评论 -
php7 安装 memcached ,memcache扩展
环境 :centeos 6.5 php7.0.2 memcached 1.5.1 扩展 memcached3.0.0 下安装 Memcached memcache原创 2017-08-30 22:45:46 · 4347 阅读 · 0 评论 -
nginx 8051#0: *4 recv() failed (104: Connection reset by peer) while reading response header from u
failed (104: Connection reset by peer) while reading response header from u原创 2017-08-28 11:08:02 · 2901 阅读 · 1 评论 -
array_walk()使用
array_walk()使用原创 2017-07-10 11:58:10 · 2434 阅读 · 0 评论 -
在使用php-resque队列时使用到PHP进程的相关内容总结
好文章: http://www.jianshu.com/p/08bcf724196b http://www.jb51.net/article/71232.htm https://www.pureweber.com/article/php-multi-process-programming-preview/ http://rainyluo.net/post/php_mutilcurl问题:多进转载 2017-11-23 14:46:37 · 799 阅读 · 0 评论 -
http Unauthenticated
http请求报 Unauthenticated,HTTP返回码 401 表示未授权:看下是不是登录失效了。然后重新再试试~~转载 2018-01-11 14:25:19 · 1064 阅读 · 0 评论 -
PHP获取IPV6地址
首先说几个坑:我们之前获取IP的方式 private static function clientIp(){ return getenv('HTTP_CLIENT_IP')?: getenv('HTTP_X_FORWARDED_FOR')?: getenv('HTTP_X_FORWARDED')?: gete...原创 2019-02-21 21:11:28 · 7515 阅读 · 0 评论 -
PHP 函数filesize获取文件大小错误,一直不变
在第二次获取filesize 文件大小时,使用 clearstatcache(); 函数清除缓存,解决问题! $tmp_size = filesize($file); $out_size = 1024 * $out_size; if($out_size != 0 && $tmp_size > $out_size) { ...原创 2018-11-08 15:57:18 · 3945 阅读 · 0 评论 -
MAC PHP7.0安装ssh,yaf扩展
安装SSH2扩展:https://segmentfault.com/a/1190000008029990按照这个报错: 然后更换 SSH2 扩展的版本:下载ssh2扩展 wget http://pecl.php.net/get/ssh2-1.1.2.tgz tar -zxvf ssh2-1.1.2.tgz cd ssh2-1.1.2 /usr/local/zend/bi...转载 2018-08-14 16:05:22 · 883 阅读 · 0 评论 -
PHP生成csv格式Excel,秒级别实现excel导出功能
防止报超内存,兼容中文,兼容科学技术法。 爽。。。。很爽。。。。 /** * 告诉浏览器下载csv文件 * @param string $filename */ public static function downloadCsv($data, $filename, $encoding = 'utf-8') { header("Co...原创 2018-07-03 15:20:55 · 1118 阅读 · 0 评论 -
PHP 读取或生成大的Excel
场景,在很多情况下,需要读取Excel文件。 常用的有PHPExcel包或者使用 maatwebsite/excel 包但是使用这个包读取或生成excel,如果excel文件过大,很容易出现超内存情况。解决方法: 上传:要求上传者使用.csv 文件上传。然后使用php自带的 fgetcsv()函数来读取文件。http://php.net/manual/zh/function....原创 2018-06-25 13:13:07 · 504 阅读 · 0 评论 -
文件权限修改为777,php failed to open stream: Permission denied
记录一次在谷歌云上的异常诡异的事件:环境 centos7.5 nginx php7.0 mysql 问题:问题一 我用相同的nginx配置,只是修改了nginx root目录。打开/var/www/html/ 这个目录就报 2018/06/22 04:35:03 [error] 15840#0: *438 FastCGI sent in stderr...原创 2018-06-22 15:01:17 · 9538 阅读 · 0 评论 -
composer install 报magento/product-enterprise-edition 2.0.2 requires ext-gd * -> the requested PHP ex
在linux 中 报类似的错误 Problem 1 - Installation request for magento/product-enterprise-edition 2.0.2 -> satisfiable by magento/product-enterprise-edition[2.0.2]. - magento/product-enterprise-edition 2...原创 2018-05-22 17:10:23 · 1976 阅读 · 0 评论 -
virtual memory exhausted: Cannot allocate memory
virtual memory exhausted: Cannot allocate memory make: * [ext/fileinfo/libmagic/apprentice.lo] Error 1 原因 :虚拟内存耗尽:无法分配内存编译安装php时遇到 virtual memory exhausted: Cannot allocate memory 将 –disable-f...原创 2018-03-26 15:27:48 · 793 阅读 · 0 评论 -
PHP clone 重温面向对象编程
php对象复制 clone作用,复制一个新的对象,需要保持所有属性与原来窗口相同,但是必须是一个新对象。(如果不是一个新对象,那么一个窗口中的改变会影响到另一个窗口,或者对象A保存着对象 B的引用,当你复制对象A时,你想使用的对象不再是对象B而是对象B的一个副本,这个时候就需要得到对象A的一个副本、)PHP 深复制 和浅复制 PHP5开始, new 运算符自动返回一个引用。一个对象通过一个...原创 2018-04-07 17:57:34 · 159 阅读 · 0 评论 -
js 正则表达式出现问题
帮同事写个页面,出现正则表达式不管怎么改都没法匹配的情况。。。。reg = /^sy[0-9]+$/i;if(rtx.match(reg) == null){alert("请输入正确的RTX账号!");return false;}因为之前一直用的是 reg ="/^sy[0-9]+$/i";写PHP写习惯了。。外面多写了两个双引号……T.T原创 2017-06-14 19:33:27 · 253 阅读 · 0 评论 -
PHP 范围解析操作符,__call(),__callstatic()的使用
PHP 范围解析操作符,__call(),__callstatic() 注意细节原创 2017-03-24 15:41:16 · 1190 阅读 · 0 评论 -
Nginx下出现Access denied (403) see security.limit_extensions错误的解决方法
今天在vagrant + lnmp中使用phalcon命令初始化项目后,访问页面一直出现Access denied; 而Nginx的错误日志则一直是”Access to the script ‘xxx’ has been denied (see security.limit_extensions)…”,最后终于在stackoverflow上找到了解决方法:在你php-fpm配置文件php-转载 2017-03-14 14:08:06 · 12520 阅读 · 0 评论 -
测试new 和call_user_function()和call_user_function_array()执行效率问题
在PHP 7.0.2环境下 执行效率 new < call_user_func() <call_user_function_array()转载 2017-03-21 17:53:52 · 686 阅读 · 0 评论 -
phpize是什么
一、phpize是什么当php编译完成后,php的bin目录下会有phpize这个脚本文件。在编译你要添加的扩展模块之前,执行以下phpize就可以了;安装php(fastcgi模式)的时候,常常有这样一句命令:/usr/local/webserver/php/bin/phpizephpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块比如现在想在php中加转载 2017-03-07 15:21:20 · 533 阅读 · 0 评论 -
Lnmp下 php安全策略
Lnmp下 php安全策略一、open_basedirnginx中 fastcgi_param PHP_VALUE "open_basedir=指定目录"apache中 php_admin_value open_basedir "指定目录"httpd.cof php_admin_value open_basedir "指定目录"在程序中 ini_set('open_ba原创 2017-03-07 15:09:11 · 312 阅读 · 0 评论 -
centos6.5下安装php7,nginx,mysql,redis.composer
我的linux环境 centos. 6.5安装php7.0.2,nginx1.10.2 ,mysql 5.7,redis2.8.3http://blog.csdn.net/21aspnet/article/details/47708763PHP下PHP安装wget http://php.NET/get/php-7.0.2.tar.gz/from/a/mirro转载 2017-03-07 14:35:22 · 1194 阅读 · 0 评论 -
关于PHP NGINX PHP 如何配合工作
关于PHP NGINX PHP 如何配合工作Nginx 监听80端口,然后通过fast_cgi协议 解析出用的是什么语言,传给PHP-FPM(监听9000端口) =》然后传给PHP语言() ==》PHP动态解析查从 MYSQL(监听3306 端口)数据库php.ini 文件是由 php-fpm 来解析的。 php-fpm -reload 使用此命令,我们可以实现,在原创 2017-03-07 14:37:56 · 462 阅读 · 0 评论 -
安装PHP扩展yar
YAR 并行RPC框架研究 并行远程过程调用协议https://www.kancloud.cn/digest/xiaoyu-php-qa/128037https://github.com/laruence/yar方法一、yum install php-pear php-devel (安装pecl等php附属)pecl install msgpack You原创 2017-03-07 14:42:54 · 1679 阅读 · 0 评论 -
PHP中new static() 和 new self()
class A { public static function get_self() { return new self(); } public static function get_static() { return new static(); }}class B extends A {}ech转载 2017-03-24 16:44:18 · 197 阅读 · 0 评论 -
composer 自动加载原理
composer 自动加载原理转载 2017-03-25 11:45:27 · 1545 阅读 · 0 评论 -
php __sleep() 和__wakeup()
<?phpclass Person{ private $name, $age, $sex, $info; public function __construct( $name, $age, $sex ) { $this->name = $name; $this->age = $age; $this->sex = $转载 2017-03-25 17:58:12 · 1324 阅读 · 0 评论 -
PHP反射demo
PHP反射demo原创 2017-03-25 17:39:47 · 189 阅读 · 0 评论 -
jwt 校验抛出异常改为返回false
jwt 校验抛出异常改为返回false原创 2017-07-01 17:05:59 · 3870 阅读 · 0 评论 -
Server:sffe是什么?
发现的一个很好玩的问题。刚刚看cookie相关的东西,顺便想 看下自己项目里面的 cookie请求的头,然后突然发下图的内容。正常的话,我本地自己配置的为Nginx服务器,他的server应该是 nginx的。可是却显示。sffe、很奇怪。。。刚刚开始以为,自己是不是哪里配错了。。。结果很简单………………因为请求的链接是Request URL:http:/原创 2017-06-05 18:55:39 · 3427 阅读 · 0 评论 -
PHP7中php.ini、php-fpm和www.conf 配置
php配置文件主要有: php.ini php-fpm.cof 以及在php-fpm.conf中引入的 php-fpm.d/www.conf以及该目录下的其他配置文件如果使用rpm或者yum安装的,可以查看php.ini中的信息。 Scan this dir for additional .ini files : XXX ,如果这里的路径不为空,可能也会加载一些配置信息到原创 2017-05-05 13:03:15 · 11145 阅读 · 0 评论 -
php json_encode 大括号中括号
当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串。而当array是不从0开始或者不连续的数组时,json_encode出来的结果是一个由{}括起来的key-value模式的字符串。当字符串为[1,1,1] 这种模式时,json_decode默认解析出来的结果是一个数组。当字符串为{"1":1,"2":1} 这种模式时,jso原创 2017-05-23 19:20:22 · 1226 阅读 · 0 评论 -
PHP代码错误,nginx直接返回500错误解决方案
发现 PHP代码错误,nginx直接返回500错误修改文件的思路。首先问题肯定是在PHP的配置模块PHP的配置文件有php.ini 和 php-fpm.conf 这两个文件在 /user/local/php7/etc/ 目录下。 之前一直修改的是 /etc/php.ini 文件,导致修改以后也一直不起作用,但是我们可以根据 phpinfo(); 这个里面可以看到 p原创 2017-03-07 14:40:09 · 14373 阅读 · 1 评论 -
PHP序列化用到的构造:__sleep() __wakeup()
串行化serialize可以把变量包括对象,转化成连续bytes数据. 你可以将串行化后的变量存在一个文件里或在网络上传输. 然后再反串行化还原为原来的数据. 你在反串行化类的对象之前定义的类,PHP可以成功地存储其对象的属性和方法. 有时你可能需要一个对象在反串行化后立即执行. 为了这样的目的,PHP会自动寻找__sleep和__wakeup方法. 当一个对象被串行化,PHP会调原创 2017-05-11 09:23:25 · 227 阅读 · 0 评论