
PHP学习系列
PHP是世界上最好的语言
躬匠
这个作者很懒,什么都没留下…
展开
-
PHP学习系列 -- include(require)注意事项
一、背景好的框架、设计会遵循高内聚低耦合的设计原则,解耦模块、组件、类之间的依赖关系,做到代码的可复用。PHP里的代码复用有多种形式,今天我们先以常见的include/require文件包含为例一起学习一下文件包含复用的相关知识,希望对大家有所帮助。二、学习1. 基础知识学习include/require都是用于文件的包含操作,与之对应的还有include_once/requi...原创 2018-11-23 14:11:21 · 820 阅读 · 0 评论 -
PHP学习系列 -- 新增$_SERVER环境变量
背景原有项目要进行IPV6的升级,在原有日志基础上新增IPV6字段信息; 服务端预期通过$_SERVER['IPV6']获取IPV6信息; Web Server为Nginx;需求 上游透传IPV6信息并在$_SERVER中新增IPV6字段。解决方案关于上游透传IPV6的详情不是我们关注的终点,忽略介绍。针对$_SERVER中新增IPV6字段,有修改Nginx配置以及ph...原创 2018-11-20 18:08:26 · 801 阅读 · 0 评论 -
PHP 设置多域名允许跨域访问
跨域是Web开发中常见的问题,解决跨域的方法也有很多。本文以CORS(跨域资源访问)方式和大家一起来了解一下针对PHP语言,如何设置允许多域名访问。首先,我们还需要对一些基础知识有了解。(1)服务器变量 针对PHP语言而言,服务器变量存储在$_SERVER数组中,在这个数组中有一个特殊的键值:HTTP_ORIGIN。这个键只在跨域的时候才会存在值,同源时为空字符串。(2)响应...原创 2018-10-24 17:21:02 · 6461 阅读 · 0 评论 -
PHP学习系列 -- CLI、CGI、FastCGI、php-fpm学习
在上一篇文章中我们了解到,Web Server与PHP之间通过sapi来实现解耦,那这个过程到底是什么呢?cli、cgi、fastcgi、php-fpm又都是什么呢?别急,在这篇文章中,我们会对其有一个清晰的了解。首先,cli、cgi、fastcgi都是sapi的一种实现形式,是不是有点模糊?没问题,下面先对其概念有一个简单的了解。CLI模式CLI : Command Line Interface...原创 2018-03-11 19:05:52 · 1652 阅读 · 0 评论 -
PHP学习系列 -- 源码目录结构学习
通过上一篇文章的学习,我们已经对PHP的知识有了一个大概的了解,比如PHP是开源、免费、适合Web开发的服务端脚本语言,适合进行Web网站的开发,PHP是解释型语言,由Zend 引擎进行PHP语言的解析。本篇文章我们就接着上一篇文章的内容接着向下学习,通过查看PHP语言的源码结构了解Zend,isapi、PHP扩展的相关知识。PHP源码下载地址:下载 选择一个版本下载即可。PHP源码结构如下所示...原创 2018-03-10 17:22:30 · 6557 阅读 · 0 评论 -
PHP学习系列 -- 解释型语言与编译型语言的区别
从大学开始,大概接触到了C/C++、Java、ASP、C#、PHP、Python、Javascript、HTML等语言,在随着对语言学习的深入,发现这些语言也是有很大差别的。简单来说语言有高级、低级之分,而高级语言又大致分为解释型和编译型两种。今天我们就来学习一下高级语言下编译、解释型语言的区别与联系,看他们是如何平分天下的。OK,先来了解一下两者的概念。编译型语言使用专门的编译器(类...原创 2018-03-10 22:04:28 · 2708 阅读 · 3 评论 -
PHP 防sql注入
产生原因一方面自己没这方面的意识,有些数据没有经过严格的验证,然后直接拼接 SQL 去查询。导致漏洞产生,比如:$id = $_GET['id'];$sql = "SELECT name FROM users WHERE id = $id";因为没有对 $_GET['id'] 做数据类型验证,注入者可提交任何类型的数据,比如 " and 1= 1 or " 等不安全转载 2018-02-05 14:56:37 · 3030 阅读 · 0 评论 -
Windows/Linux 下查看Apache、Mysql、PHP版本
做程序开发,我们免不了要知道开发环境下的Apache、Mysql、PHP版本,下面就三项在Windows和Linux下如何进行版本查看进行展开。1、Apache(1) Windows查看Apache版本:使用命令:httpd -v (2) Linux查看Apache版本:使用命令:apachectl -v 2、Mysql原创 2017-07-08 14:13:36 · 30066 阅读 · 0 评论 -
跨域请求jsonp详解
jsonp详解json相信大家都用的多,jsonp我就一直没有机会用到,但也经常看到,只知道是“用来跨域的”,一直不知道具体是个什么东西。今天总算搞明白了。下面一步步来搞清楚jsonp是个什么玩意。同源策略首先基于安全的原因,浏览器是存在同源策略这个机制的,同源策略阻止从一个源加载的文档或脚本获取或设置另一个源加载的文档的属性。看起来不知道什么意思,实践一下就知道了转载 2017-06-10 19:25:21 · 368 阅读 · 0 评论 -
PHP 静态变量学习
转载于:http://www.cnblogs.com/52php/p/5658171.html什么是static静态变量?(以下为在C语言中的理解)静态变量 类型说明符是static。静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该 区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内转载 2017-05-30 10:40:40 · 374 阅读 · 0 评论 -
PHP Mysql两组时间戳、日期转换函数
写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储、处理方便,但是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么自如,所以有的时候需要互相转换,下面给出互相转换的几种转换方式。 一、在MySQL中完成 这种方式在MySQL查询语句中转换,优点是不占用PHP解析器的解析时间,速度快,缺点是只能原创 2017-05-24 20:52:15 · 1136 阅读 · 0 评论 -
php 中return、exit()、die()用法比较
php中终止程序的运行有三种方式:主脚本程序中使用return、脚本中使用exit()、die(),三者所在的脚本文件他们之后的代码都不会执行了。php开发模式下想直接看到变量的值使用exit()、die()。这是对三者使用总的概括,下面具体来学习三者的使用以及相互之间的区别于联系。1、return首先,return是语言结构而不是函数。如果一个函数中包含return 语句,当调用此函原创 2017-05-20 09:43:17 · 19068 阅读 · 0 评论 -
php 快速定位代码错误、异常之register_shutdown_function()函数学习
对于每一个编程人员来说,如果自己的程序报错,那么简单的浏览一下错误信息就能大致明白错误原因及错误位置,即使一时间无法确定,但是经过简单的分析也能很快得出结论,这对于个人来说是非常方便的,但是,在某些时候我们要修改的并不是自己的代码,这个时候如果要是从都到尾的去理解一遍他人的代码,这样的话就是有点浪费时间了,所以如何快速定位就是非常重要了。 首先来说,对于PHP编程有一个非常好用的函数可以原创 2017-04-16 11:02:49 · 2544 阅读 · 0 评论 -
PHP magic_quotes_gpc的使用方法详解
我们今天要向大家介绍的是PHP magic_quotes_gpc的具体使用方法。大家都知道在PHP中一个特殊的函数魔术函数,它在引用的过程中只有在传递$_GET,$_POST,$_COOKIE时才会发生作用。1.条件:PHP magic_quotes_gpc=off写入数据库的字符串未经过任何过滤处理。从数据库读出的字符串也未作任何处理。 数据:$data=”snow”''转载 2017-04-15 10:31:15 · 2235 阅读 · 0 评论 -
PHP各种环境下的代码调试
任何的程序开发都不能保证没有问题,无论是在开发环境还是在生产环境中。那如何在各种环境中调试我们的程序呢?总结如下1、任意环境下调试ini_set('display_errors',1); //错误信息ini_set('display_startup_errors',1); //php启动错误信息error_reporting(-1);原创 2017-04-15 10:11:14 · 612 阅读 · 0 评论 -
PHP 中的$_SERVER变量学习
一直认为自己的脑子很好使,可扛不住事情多。所谓的好记性不如烂笔头说的是一点没错,今天总结一下$_SERVER变量的使用,加深一下印象也便于以后自己查阅。一个完整的url组成如下:"http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']; $_SERVER变量:SERV原创 2017-04-15 09:32:23 · 536 阅读 · 0 评论 -
PHP 分页类
废话少说,先上效果图 <?phprequire_once('Page.class.php'); //分页类mysql_connect('****','****','****') or die('连接失败');mysql_...原创 2017-02-15 12:20:43 · 421 阅读 · 0 评论 -
PHP错误日志记录:display_errors与log_errors的区别
我们所做的东西,无论在开发环境还是在生产环境都可能会出现一些问题。开发环境下,我们会要求错误尽可能详细的呈现出来,错误提示信息越详细越好,越详细越能帮助开发人员确定问题所在并从根本上解决他们。生产环境下,为了良好的用户体验以及网站安全,我们会尽可能少的出现错误提示。那具体到php语言中,我们又要怎么做呢?首先了解一下php中的两个配置项:(1)display_error原创 2016-11-20 19:57:15 · 5844 阅读 · 0 评论 -
PHP的ISAPI和FastCGI比较
在Windows IIS 6.0下配置PHP,通常有CGI、ISAPI和FastCGI三种配置方式,这三种模式都可以在IIS 6.0下成功运行,下面我就讲一下这三种方式配置的区别和性能上的差异。1、CGI(通用网关接口/Common Gateway Interface)一般是可执行程序,例如EXE文件,和WEB服务器各自占据着不同的进程,而且一般一个CGI程序只能处理一个用户请求。转载 2016-11-19 21:53:16 · 960 阅读 · 0 评论 -
PHP 不要相信用户的任何输入
做Web开发,有一个很重要却又很容易被一些开发人员忽略的东西:网站安全。关于网站安全的解释,百度百科上是这样解释的:网站安全是指出于防止网站受到外来电脑入侵者对其网站进行挂马,篡改网页等行为而做出一系列的防御工作。由于一个网站设计者更多地考虑满足用户应用,如何实现业务。很少考虑网站应用开发过程中所存在的漏洞,这些漏洞在不关注安全代码设计的人员眼里几乎不可见,大多数网站设计开发者、网站维护人员对...原创 2016-11-19 17:47:45 · 1689 阅读 · 2 评论 -
PHP 数组遍历方法大全(foreach,list,each)
php下最灵活的东西都是数组,很多数据都是通过数组的方式显示,这里整理下数组的遍历方法,大家可以根据需要选用。在PHP中数组分为两类: 数字索引数组和关联数组。 其中数字索引数组和C语言中的数组一样,下标是为0,1,2… 而关联数组下标可能是任意类型,与其它语言中的hash,map等结构相似。 下面介绍PHP中遍历关联数组的三种方法:方法1:foreach <?转载 2016-05-18 16:40:27 · 635 阅读 · 0 评论