PHP
文章平均质量分 54
Rodgexue
腾讯和阿里-php和java工程师 坚持了这么多年的技术博客希望能一直用下去
展开
-
大众点评的爬虫代码(php版本)
1.由于本人是一个php开发,看到很多爬虫工具是python写的,好不容易找到一个php写的。<?php set_time_limit(0); class snap_dianping { //抓取的分类,(*)代表页码 static $url = array( "20"=>"http://www.dianping.com/hangzhou/...原创 2018-09-06 10:21:27 · 1874 阅读 · 0 评论 -
php面试题4-实现autoload
Yii框架宣称自己的类加载方式很高效,是真正的“用时加载”,那究竟特别在哪里?今天研究了一下源码,发现其实是在代码级加了一层“路径缓存”。Yii2 的自动加载原理我们知道,要实现自己的autoload方法,需要采用spl_autoload_register()函数注册一个autoload方法,Yii注册的这个方法是YiiBase::autoload(),稍后再讲解这个方法的逻辑。另外,Yi...原创 2018-04-17 15:50:51 · 5431 阅读 · 0 评论 -
php获取剩余时间
<?php$start = date_create('1988-08-10');$end = date_create(); // Current time and date$diff = date_diff( $start, $end );echo 'The difference is ';echo $diff->y . ' years, ';echo $d...原创 2018-04-02 16:26:54 · 6640 阅读 · 0 评论 -
腾讯的题目文字版
1、对于大流量的网站,您采用什么样的方法来解决访问量问题? 1)确认服务器硬件能否支持当前的流量 对于普通的pcserver来说,它能够独立支持每天10万个独立ip访问,如果访问量过大,最好更好性能更高的专用服务器。 2)优化数据库的访问服务器的负载过大,一个重要的原因就是CPU和内存负载过高,而读写数据在这块占据较多的资源。可以从页面静态化、memcache缓存和mysql优化几个方面着...原创 2018-03-12 12:31:50 · 262 阅读 · 0 评论 -
php面试中经常会被问到的问题记录总结
首先是hr问题 1 你的职业规划是什么,并为这个目标做了那些努力 2 你的性格优缺点是什么 3 你在团队中的角色是什么 4 离职的原因是什么 5 你对加班怎么看 6 在工作中做过的觉得比较有意义的一件事 7 自己平时除工作外,关注什么其他技术 8 你找工作时看重的是哪些因素(这个问题就比较深入了,问这些问题的我觉得要不是hr很负责,能力强,要不就是公司对这个岗位比较...原创 2018-03-11 23:04:51 · 4400 阅读 · 0 评论 -
腾讯面试题----全是代码编程题
1、请使用 socket 相关函数(非 curl )实现如下功 能:构造一个 post 请求,发送到指定 http server 的指定端口的指定请求路径(如 http://www.phpddt.com:8080/test )。请求中包含以下变量:用户名( username ):温柔一刀 密码( pwd ): &123=321&321=123& 个人简介( intr...原创 2018-03-12 12:33:02 · 9127 阅读 · 0 评论 -
php-fpm配置详解
php-fpm配置详解原创 2018-02-22 11:09:38 · 281 阅读 · 0 评论 -
逻辑题
以下是逻辑题你用什么方法检查php脚本的执行效率(通常是脚本执行时间)和数据库SQL的效率(通常是数据库Query时间),并定位和分析脚本执行和数据库查询的瓶颈所在? 执行效率 1, 代码脚本里计时。 2, xdebug统计函数执行次数和具体时间进行分析。,最好使用工具winCacheGrind分析 3, 在线系统用strace跟踪相关进程的具体系统调用。$begin=micro...原创 2018-03-08 13:06:39 · 317 阅读 · 0 评论 -
php面试题5-nginx如何调用php和php-fpm的作用和工作原理
nginx如何调用php采用nginx+php作为webserver的架构模式,在现如今运用相当广泛。然而第一步需要实现的是如何让nginx正确的调用php。由于nginx调用php并不是如同调用一个静态文件那么直接简单,是需要动态执行php脚本。所以涉及到了对nginx.conf文件的配置。这一步对新手而言一般需要网上查资料,对于一般的熟手而言,也有不少同学并没有搞透彻为何要如此这般配置。本...原创 2018-04-17 16:10:14 · 5805 阅读 · 0 评论 -
php面试可能会被问道的技术题汇总
1.nginx 连接多台php的方式 2.线程和进程的区别 3.用到过的传输协议 4.yii2和yii不一样的三个点 5.实现autoload 6.yii2 的路由 7.nginx如何调用php 8.php-fpm的作用和工作原理 9.memcache和redis的区别 10.web 安全 11.nginx的负载均衡如何配置 12.如何查询myqsl的从库状态 13 了解哪...原创 2018-04-17 14:51:22 · 5490 阅读 · 0 评论 -
快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值
原文地址http://blog.csdn.net/hackbuteer1/article/details/6699642 快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解。 假如有如下的两个数组,如图所示: 5,6,1,4,7,9,8 给定Sum= 10 1,5,6,7,8,9 ...转载 2018-04-18 16:15:48 · 2964 阅读 · 0 评论 -
paypal支付功能--php的接入方法(基于yii2框架)
一、paypal账号记录 配置地址:client/config/params-local.php 配置方式:<?phpreturn [// 'PAYPAL'=>[// 'CLIENT_ID' => 'AakOfRRjKS5YrInEO89BWiCG7Zx5YZOzdC2ESqVv-h-9KLYFkxuw511Z0Tqa5aaFnH9ABEFi6qFUJHlv',/...原创 2018-09-04 13:27:03 · 692 阅读 · 0 评论 -
符合在yii2框架中使用geoip的扩展
符合在yii2框架中使用geoip的扩展原创 2018-08-29 14:47:56 · 465 阅读 · 0 评论 -
记录一下工作中遇到的一些高级的操作
mysql1.需求是统计群组信息,但是群名等信息和群成员的信息不在同一个表里面。这个时候的sql查询 关注的点: 1.1.时间戳转化成datetime 用方法from_unixtime 1.2.子查询可以直接作为一个参数 select a.group_id as '群id', b.group_name as '群组名称',from_uni...原创 2018-08-09 14:45:12 · 254 阅读 · 0 评论 -
PHP技能评测(一)
出处:https://www.viphper.com/?p=1236 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。公司出了一些自我评测的PHP题目,现将题目和答案记录于此,以方便记忆。魔术函数有哪些,分别在什么时候调用? __construct(),类的构造函数 __destruct(),类的析构函数 __...转载 2018-07-25 22:32:15 · 543 阅读 · 0 评论 -
又找来了一份php面试题 只有图片的 我自己写下答案
一、 面用五种方法来实现不用不使用第3个变量,交换$a、$b的值(记住函数list)$a = 11;$b = 33;// 方法一:list($a,$b) = array($b,$a);echo $a.'-'.$b,'<br />';// 方法二:$a = $a . '-' . $b;$a = explode('-',$a);$b = $a[0];$a =...原创 2018-07-25 22:18:11 · 392 阅读 · 0 评论 -
COOKIE和SESSION的区别
由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Session是保存在服务端的,有一个唯一标识。在服务端保存...原创 2018-04-19 20:01:18 · 330 阅读 · 0 评论 -
PSR规范 (psr-0,psr-1,psr-2,psr-3,psr-4)
这个规范,我只有在海康威视面试的时候碰到。不过还是很重要的。记录一下 简单总结,方便记忆。04是自动加载的规范, 12是代码规范, 3是日志规范,后面的数字就是升级版PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准。项目的目的在于:通过框架作者或者框架的代表之间讨论,以最低程度的限制,制...原创 2018-04-19 17:00:36 · 3850 阅读 · 1 评论 -
php-fpm 静态动态
php-fpm的静态static和动态dynamic执行方式比较 前段时间配置php-fpm的时候,无意间发现原来他还有两种执行方式。与Apache一样,他的进程数也是可以根据设置分为动态和静态的。 而php-fpm也是同样存在两种方式,一种是直接开启指定数量的php-fpm进程,不再增加或者减少;另一种则是开始的时候开启一定数量的php-fpm进程,当请求量变大的时候,动态的增加php-fp...原创 2018-04-18 16:22:50 · 471 阅读 · 0 评论 -
腾讯面试题 文字版
请说明在php.ini中safe_mode开启之后对于pHp系统函数的影响 简单版的回答 开启之后,主要会对系统操作、文件、权限设置等方法产生影响,平常项目基本上也用不到这些方法。主要我想还是用来应对webshell吧,减少被人植入webshell所带来的某些安全问题。 详细解释 safe_mode是提供一个基本安全的共享环境。在一个多用户共享的php web服务器上,当这台服务器开启了...原创 2018-04-17 14:35:32 · 418 阅读 · 0 评论 -
web接口跨域问题处理
在代码开始的地方增加header("Access-Control-Allow-Origin: http://a.com"); // 允许a.com发起的跨域请求//如果需要设置允许所有域名发起的跨域请求,可以使用通配符 *header("Access-Control-Allow-Origin: *"); // 允许任意域名发起的跨域请求header('Access-Control-All...原创 2018-02-28 11:04:48 · 253 阅读 · 0 评论 -
php中进程锁和多进程的实现
首先关于进程锁,具体原理的话为了节省时间就先不讲了,直接来点实际的,怎么用,都是直接复制粘贴就能实现的功能。 先说下为什么需要进程锁吧。主要作用就是防止你重复执行同一程序,主要用在crontab中,当你设置了一个定时任务,然后每分钟执行一次,如果不加进程锁的话,之前的进程没有执行完的情况下。每分钟都会有新的进程生成了。加上进程锁之后,每次定时任务执行的时候,就会去判断之前的进程锁是否存在,如果存原创 2016-08-02 13:12:26 · 9425 阅读 · 0 评论 -
总结
1.多线程的实现 集成thread类,修改run方法,run方法写你的主逻辑。然后调用的时候,先循环new一下继承的对象,实现对象数组,然后循环调用start方法来开始进程,最后循环用join方法等所有线程都一起结束,在对象中的构造方法__CONSTRUCT(&$i){//&表示引用,可以传递数组,然后让下面的方法用到 $this->i = $i}function run(){原创 2016-08-03 20:43:55 · 2916 阅读 · 0 评论 -
新开发的体重管理项目----用纯php模仿yii2框架建立的
1.配置虚拟路径的时候,一定是要配置到有index.php的目录。因为这个文件是入口,会先你输入路径之后,会去访问这个路径下的index.php文件。 2. http://www.yiimvc.com/index.php?controller=Index&action=index 这个方式传递的数据打印出来的结果是 Array ( [controller] => Index原创 2016-01-14 10:24:34 · 3467 阅读 · 0 评论 -
Code Review 之后的总结
1.对于isset和empty的区别 值 Isset IJKLEmpty $a; F T $a = 1 T T $a = null F T array() F F2.intval变量转成整数类型。 在你确认一定是整数的时候,可以加上这个,而且在里面可以加上号trim 例 intval(trim($_POST))3.对于错误值,要先判断原创 2016-01-29 16:07:07 · 4207 阅读 · 0 评论 -
关于php的数组函数的使用和说明
首先,先把我用过的几个array的函数写出来 ①.in_array 我自己的感悟:in_array的话,第一个参数是你想要查找的字符串或者数字,然后第二个是数组,是你然后如果你的第一个参数的值在这个数组里面的话,就返回ture,否则就返回false。定义和用法: in_array() 函数在数组中搜索给定的值语法in_array(value,array,type)原创 2015-07-02 21:04:11 · 2885 阅读 · 0 评论 -
PHP处理Excel插件PHPExcel常用方法详解
1.headerheader("Content-Type:application/vnd.ms-excel");header("Content-Disposition:attachment;filename=product.xls");header("Pragma:no-cache");header("Expires:0");2.PHPExcel开发包Tests目录有详细使用实例,支持中文,注转载 2015-06-15 14:54:47 · 3821 阅读 · 0 评论 -
对于foreach循环的使用
对于foreach循环的使用:foreach($remind_listas$key=>$val){ foreach($city_dataas$key1=>$val1){ if($val['city_id']==$val1['area_id']){ $remind_list_now[$arr_key]['c_id'] = $val['c_id'];原创 2015-05-14 13:22:09 · 4340 阅读 · 0 评论 -
面试题的记录
1.数据库的引擎 innodb之类的,然后innodb支持事务 2.Ucleft() 变成大写字母 3.魔法函数和魔法变量 4.Yii的整个流程 5.假如有成千上万的数据,存储的就只是用户id和邮箱,那怎么去查询163和126邮箱的用户。最好的方式就是使用索引。 6.如果cookie禁用了,那session还能用吗, 不能,因为session是基于cookie的 7.Empty和isse原创 2015-04-22 13:34:06 · 2760 阅读 · 0 评论 -
linux环境下exec报错:Error opening terminal:unknown
昨天遇到遇到一个很坑爹的问题,改了快两天,终于改好了。赶快记录一下新鲜的干活。我昨天遇到一个很神奇的问题,代码归结出来就是下面这段,其实就是在php当中,通过exec来执行sipp的命令(具体sipp命令里面的内容被我和谐了哈,主要看原理)。文件名: sendSip.phpfunction SendSip(){ $sip_cmd = "/usr/local/bin/sipp set原创 2016-08-02 16:17:03 · 8125 阅读 · 0 评论 -
redis的发布和订阅功能
原理 redis的发布和订阅是个比较高深的概念,我一开始接触的时候感觉很茫然,但是后面用了下发现还是简单的。看来还是多需要自己尝试。 其实和消息队列差不多的原理,就是一个发布的频道,所有订阅这个频道的都能收到消息。即一个client可以订阅多个 channel,也可以向多个channel发送消息。代码展示 我觉得还是直接上代码大家理解的比较快。 首先,我们需要两个php脚本,一个表示clie原创 2016-08-03 10:18:22 · 9110 阅读 · 1 评论 -
从大神那里找来的php面试 ----数据库部分
二、数据库部分 1. 常见的关系型数据库管理系统产品有?答:oracle、SQL Server、MySQL、Sybase、DB2、Access等。SQL语言包括哪几部分?每部分都有哪些操作关键字?答:SQL语言包括数据定义(DDL)、数据操纵(DML),数据控制(DCL)和数据查询(DQL)四个部分。数据定义:Create Table,Alter Table,Drop Table, Craet转载 2016-10-11 14:52:22 · 2710 阅读 · 0 评论 -
php nginx配置的连接方式修改为sock的方式
php-fpm的日志上加 /etc/php-fpm.d/www.conf listen = /var/run/php5-fpm.sock nginx的日志上 修改 #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php5-fpm.sock; 重启 nginx和php-fpm 这个路径的文件权限修改 /va原创 2017-10-26 11:14:16 · 1103 阅读 · 0 评论 -
PhpStorm的使用姿势
这篇文章真的写的非常好 https://www.fanhaobai.com/2017/05/phpstorm-posture.html转载 2017-11-08 14:26:21 · 1315 阅读 · 0 评论 -
为什么要使用host
大家都知道 在开发的过程当中,很多人前辈会让我们在host文件里面配置一个域名,什么a.com 127.0.0.1,这样我们就能通过访问a.com来调用我们自己window环境下的php代码了。那么为什么要配置呢? 简单来说,我们在浏览器上输入域名,如baidu.com,然后浏览器会像我们配置的dns去获取这个域名对应的ip,然后再把这个http请求发送到这个ip上去。然后因为我们配置的域名是虚拟原创 2017-04-03 11:05:50 · 4134 阅读 · 0 评论 -
push推送相关注意事项
1.curl的问题 配置https的证书http://blog.csdn.net/weixin_35884835/article/details/525881572.ios push 针对http1.0的,需要服务器开通2195这个端口3.nodejs报下面的错误 是证书过期了 2017-02-15 08:07:03 16621>>>>>>> Socket undefined error occu原创 2017-04-01 11:20:13 · 2115 阅读 · 0 评论 -
php的使用小技巧四十则
今天我们要介绍一些关于改善和优化PHP代码的提示和技巧。请注意,这些PHP技巧适用于初学者,而不是那些已经在使用MVC框架的人。1.不要使用相对路径,要定义一个根路径这样的代码行很常见:require_once('../../lib/some_class.php');这种方法有很多缺点:它首先搜索php包括路径中的指定目录,然后查看当前目录。因此,会检查许多目录。当一个脚本被包含在另一个脚本的不原创 2017-02-28 11:05:33 · 5737 阅读 · 0 评论 -
http协议内容的简单易懂版概述
本篇文章主要从简单的方式来展示http的内容,希望这些常用的内容能够满足大家日常开发的需求。 telnet模拟http请求 模拟get请求 post方法 用file_get_contents发送post请求原创 2016-12-20 17:28:35 · 610 阅读 · 0 评论 -
PHP获取客户端的IP
1.REMOTE_ADDR:浏览当前页面的用户计算机的ip地址 2.HTTP_X_FORWARDED_FOR: 浏览当前页面的用户计算机的网关 3.HTTP_CLIENT_IP:客户端的ip在PHP 中使用 SERVER["REMOTEADDR"]来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址。要想透过代理服务器取得客户端转载 2016-10-18 17:36:11 · 505 阅读 · 0 评论 -
从大神那里找来的php面试题
一、PHP基础: 2二、数据库部分 5三、面向对象部分 9四、ThinkPHP部分 12五、smarty模板引擎 16六、二次开发系统(DEDE、ecshop): 18七、微信公众平台开发 20八、对于自身掌握的技术描述: 22一、PHP基础: 1、PHP语言的一大优势是跨平台,什么是跨平台?PHP的运行环境最优搭配为Apache+mysql+PHP,此运行环境可以在不同操作系统(例如window转载 2016-10-11 14:44:52 · 2748 阅读 · 0 评论