PHP
烟花易冷繁华落
一个爱好生活的phper
展开
-
PHP命名空间(Namespace)的使用详解
对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结。 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀。 例:项目中有两个模块:article和message board,它们各自有一个处理用户留言的类Comment。之后我可能想要增转载 2017-08-10 11:02:29 · 225 阅读 · 0 评论 -
PHP实现执行定时任务的几种思路详解
PHP本身是没有定时功能的,PHP也不能多线程。PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害。本文,我们就来深入的解析几种常见的php定时任务的思路。Linux服务器上使用CronTab定时执行php我们先从相对比较复杂的服务器执行php谈起。服务器上安装了php,就可以执行php文件,无论是否安装了nginx或Apache这样的服务...转载 2018-04-19 15:58:15 · 201 阅读 · 0 评论 -
cgi、fastcgi、php-cgi、php-fpm剖析
定义首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。好了,如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找PH...原创 2018-04-19 00:59:39 · 241 阅读 · 0 评论 -
PHP 之 算法面试题
冒泡排序算法基本思想: 对需要排序的数组从后往前(逆序)进行多遍的扫描,当发现相邻的两个数值的次序与排序要求的规则不一致时,就将这两个数值进行交换。这样比较小(大)的数值就将逐渐从后面向前面移动。 <?php function mysort($arr) { for($i = 0; $i < count($arr); $i++) { ...原创 2018-04-11 15:57:46 · 204 阅读 · 1 评论 -
opcache PHP新的字节码缓存扩展
字节码缓存组件 Zend Optimizer+ 现在更改名字为 Zend opcache了。且在php 5.5版本后,会集成到php的官方组件中,也就没有必要安装其他的APC,eAccelerator等了。。APC与Opcache都是字节码缓存也就是,PHP在被编译的时候,首先会把php代码转换为字节码,字节码然后被执行。php文件第二次执行时,同样还是会重新转换为字节码,但是很多时候,文件内容几...转载 2018-04-14 18:04:44 · 579 阅读 · 0 评论 -
windows下安装memcache并为php开启memcache扩展
1.什么是Memcached?a.Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。b.Memc...原创 2018-03-13 11:20:17 · 4021 阅读 · 0 评论 -
php CURL 请求头和响应头获取
1.从CURL中获取响应头$oCurl = curl_init(); // 设置请求头, 有时候需要,有时候不用,看请求网址是否有对应的要求 $header[] = "Content-type: application/x-www-form-urlencoded"; $user_agent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KH...转载 2018-03-16 11:31:12 · 1526 阅读 · 0 评论 -
PHP将Base64图片转换为本地图片并保存
/** * [将Base64图片转换为本地图片并保存] * @E-mial wuliqiang_aa@163.com * @TIME 2017-04-07 * @WEB http://blog.iinu.com.cn * @param [Base64] $base64_image_content [要保存的Base64] * @param [目录] $path [要保存的...转载 2018-03-09 15:21:48 · 1086 阅读 · 0 评论 -
细碎知识点小记
1.exif_imagetype的原理是读取文件的头信息,分析文件的二进制格式,从而判断文件的类型,和文件的扩展名无关。所以用这个函数来判断图片的类型比依靠扩展名更准确,也很可靠!2. 查看类中有哪些public 方法 class a { public $k; public function b(){} private function c(){ } } ...原创 2018-03-08 23:00:00 · 257 阅读 · 0 评论 -
PHP5.6连接sqlserver2012所迈过的坑~
昨天需要用到php5.6链接sqlserver2012服务器,iis服务器,网上查了一些资料现整理如下 首先PHP5.6并未提供链接sqlserver的扩展,需要到微软下载相应版本的PHP链接sqlserver的驱动扩展,php5.6对应的是Version 3.2 supports PHP 5.6, 5.5, and 5.4 on Windowshttps://www.microsoft.c原创 2018-01-19 11:03:07 · 3049 阅读 · 0 评论 -
ajax 设置Access-Control-Allow-Origin实现跨域访问
ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全。 即使使用jquery的jsonp方法,type设为POST,也会自动变为GET。 官方问题说明: “script”: Evaluates the response as JavaScript转载 2018-01-16 10:34:34 · 344 阅读 · 0 评论 -
ajax跨域之---服务器端代理实现
ajax跨域之---服务器端代理实现 介绍一种不是通过js实现跨域的方式: 通过服务器端代理实现。 具体的思路:由于浏览器有同源策略限制,(同源策略即:https://developer.mozilla.org/zh-CN/docs/Web/Security/Same-origin_policy),所以想要跨域访问其他域下的资源,需要绕开浏览器的这个限制,可以在服务器端转载 2018-01-15 18:01:02 · 804 阅读 · 0 评论 -
负载均衡集群中的session解决方案
前言 在我们给Web站点使用负载均衡之后,必须面临的一个重要问题就是Session的处理办法,无论是PHP、Python、Ruby还是Java,只要使用服务器保存Session,在做负载均衡时都需要考虑Session的问题。 分享目录: 问题在哪里?如何处理? 会话保持(案例:Nginx、Haproxy) 会话复制(案例:Tomcat)转载 2017-09-11 15:32:28 · 174 阅读 · 0 评论 -
PHP 命名空间与自动加载机制介绍
include 和 require 是PHP中引入文件的两个基本方法。在小规模开发中直接使用 include 和 require 没哟什么不妥,但在大型项目中会造成大量的 include 和 require 堆积。这样的代码既不优雅,执行效率也很低,而且维护起来也相当困难。 为了解决这个问题,部分框架会给出一个引入文件的配置清单,在对象初始化的时候把需要的文件引入。但这只是让代码变得更简洁了转载 2017-08-14 15:58:35 · 282 阅读 · 0 评论 -
简单谈谈PHP中的Reload操作
php-fpm.conf process_control_timeout 里面有这个参数,默认是0,这个参数跟reload有极大关系 php-fpm reload 简介 php-fpm 通过接受用户发送的SIGUSR2信号实现自身服务的reload kill -USR2 `cat /tmp/php-fpm.pid` 以下代码均来自 php-src-PHP-7.1.0 版本 主进程信...转载 2018-11-05 20:24:10 · 1133 阅读 · 0 评论