
PHP开发
一只勤奋的代码狗
星辰大海
展开
-
解决composer ssl required for SSL/TLS 证书配置
取消SSL连接的命令是composer config -g -- disable-tls true打开php.iniextension=php_openssl.dll #开启openssl找到:openssl.cafile="C:/usr/local/ssl/cacert.pem" #写入存放证书的路径证书资源下载地址:https://download.csdn.net/download/gaoxuaiguoyi/19083562...原创 2021-05-26 10:45:52 · 1844 阅读 · 0 评论 -
php版本小于 5.5的 支付宝调整
php版本小于 5.5的 支付宝调整AopClient 搜索OPENSSL_ALGO_SHA256 替换为 sha256WithRSAEncryptionAlipayTradePagePayContentBuilder 中$this->bizContent = json_encode($this->bizContentarr, JSON_UNESCAPED_UNICODE)替换一下:this->bizContent = $this->my_json_encode.原创 2020-07-02 10:28:26 · 265 阅读 · 0 评论 -
PHP5历史以及各个版本的新功能和新特性收集总结
PHP的版本历史1995年初PHP1.0诞生Rasmus Lerdof发明了PHP,这是简单的一套Perl脚本,用来跟踪访问者的信息。这个时候的PHP只是一个小工具而已,它的名字叫做“Personal Home Page Tool”(个人主页小工具)。1995年6月PHP2.0诞生Rasmus Lerdof用C语言来重新开发这个工具,取代了最初的Perl程序原创 2015-11-26 15:25:32 · 1585 阅读 · 0 评论 -
PHP json_encode里面经常用到的 JSON_UNESCAPED_UNICODE和JSON_UNESCAPED_SLASHES
php格式化json的函数json_encode($value,$options)其中有2个比较常用到的参数JSON_UNESCAPED_UNICODE(中文不转为unicode ,对应的数字 256)JSON_UNESCAPED_SLASHES (不转义反斜杠,对应的数字 64)通常json_encode只能传入一个常量,如果同时使用2个常量怎么办?原创 2017-03-24 23:53:16 · 17999 阅读 · 3 评论 -
PHP使用Screw把源代码加密
PHP源代码加密有时候是必须的事情,不然代码可能全部被别人盗取了,一些机密信息也被盗取了,只介绍一种PHP源代码的加密方式:Screw。安装方式:下载链接:https://sourceforge.net/projects/php-screw/files/php-screw/打开网址点击下载即可。把文件放在Linux服务器上面执行命令:tar zxvf php_screw-1原创 2016-12-05 17:13:37 · 3528 阅读 · 1 评论 -
PHP获取当月的第一天和最后一天
<?php//本月第一天$beginDate = date('Y-m-01', strtotime(date("Y-m-d")));//本月最后一天$endDate = date('Y-m-d', strtotime("$beginDate +1 month -1 day"));$begintime = strtotime($beginDate);$endtime = strtoti原创 2016-08-05 11:42:13 · 4769 阅读 · 0 评论 -
PHPstorm和Xdebug结合实现PHP断点调试
首先必须安装Xdebug,Xdenug的下载地址https://xdebug.org/download.php,根据自己的PHP版本进行下载,下载完之后配置PHP.ini,在最后面添加[xdebug]zend_extension = "你的路径/php5.4.3/ext/php_xdebug-2.2.3-5.4-vc9-nts-x86_64.dll"xdebug.idekey=PhpS原创 2016-06-15 19:39:44 · 767 阅读 · 0 评论 -
composer嵌入框架以及创建
首先必须保证自己的电脑上安装composer,官网http://www.phpcomposer.com/ 第一步:创建一个空白目录 1.我创建了一个cool文件夹 2.创建一个空白的composer.json文件 ,内容 { "require": { } }原创 2016-06-04 15:44:28 · 572 阅读 · 0 评论 -
PHP curl post提交表单
PHP curl模拟post提交表单原创 2015-09-29 14:49:14 · 2835 阅读 · 0 评论 -
windows 系统 C语言写PHP简单扩展
PHP是纯C语言写出来的,其实也可以理解为PHP是C语言的接口,我使用PHP就是使用了C语言的接口,我们完全可以用C写PHP的扩展,准备工作,PHP分为VC6/VC9/VC11,高版本的C语言需要VC2008,但是VC2008太大我不想去安装,于是就选择了VC6,这么的话PHP只能选择5.3版本的,下面开始工作准备:1.下载PHP源码和其他工具,我已经上传好了下载链接http://downlo原创 2016-05-24 13:04:36 · 1881 阅读 · 0 评论 -
PHP 面向对面规范 PSR-0 小谈
一些概念和区别的引入:PSR原本有四个规范,分别是:PSR-0 自动加载PSR-1 基本代码规范PSR-2 代码样式PSR-3 日志接口2013年底,新出了第5个规范——PSR-4。PSR-4规范了如何指定文件路径从而自动加载类定义,同时规范了自动加载文件的位置。这个乍一看和PSR-0重复了,实际上,在功能上确实有所重复。区别在于PSR-4的规范比较干净,去除了兼容PHP原创 2016-03-08 10:48:36 · 708 阅读 · 0 评论 -
smarty截取中文长度问题
今天发现有个网页出现乱码,检查发现是用truncate()函数截取的字符串,truncate()函数对中文支持不好,随用mb_substr()函数替换truncate(),但是忘了怎么用,问了半天谷哥才知道,现记下以防再忘。用法:{$a|mb_substr:截取字符的起始位置:要截取的长度:‘字符编码’}如:{$abc|mb_substr:0:20:'GBK'},从0开始截取$ab原创 2015-04-03 14:24:49 · 712 阅读 · 0 评论 -
windows 下配置eAccelerator php缓存机制
;extension=php_yaz.dll;extension=php_zlib_filter.dllextension="E:\wamp\php\ext\eAccelerator.dll";;;;;;;;;;;;;;;;;;;; Module Settings ;;;;;;;;;;;;;;;;;;;;原创 2014-11-14 08:29:12 · 808 阅读 · 0 评论 -
Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。
Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。今天为在Windows下建立PHP开发环境,在考虑下载何种PHP版本时,遭遇一些让我困惑的情况,为了解决这些困惑,不出意料地牵扯出更多让我困惑的问题。为了将这些困惑一网打尽,我花了一下午加一晚上的时间查阅了大量资料,并做了一番实验后,终于把这些困惑全都搞得清清楚楚了。说实话,之转载 2015-12-14 20:45:49 · 685 阅读 · 0 评论 -
PHP二维数组根据某个元素去重
开发中经常遇到各种数组操作问题,PHP自带的方法可能已经不能满足日常需求,我们就需要去考虑利用PHP的方法写出更多的方法。//$arr->传入数组 $key->判断的key值 function array_unset_tt($arr,$key){ //建立一个目标数组 $res = array(); foreach ($a原创 2016-11-11 11:38:29 · 11400 阅读 · 3 评论 -
php编写自定义的的窗口命令
由于最近写框架,需要自定义执行一些窗口命令,大概需要了解一下windows的docs命令规则首先创建test.bat文件,内容如下:@echo off@setlocalrem %~dp0的意思就是 d:/test rem %0代表批处理本身 d:/你的bat所处的文件夹/test.bat rem ~dp是变量扩充 rem d既是扩充到分区号 d: rem p就是扩充到路径原创 2017-04-22 18:29:47 · 929 阅读 · 0 评论 -
php 协程 generator中的yield实现协程
简单讲述一下php里面的协程支持。<?php//yield是干什么的?//当程序运行到yield的时候,当前程序就唤起协程记录上下文。function num(){ for ($i=1;$i<10;$i++) { yield $i; }}foreach(num() as $n){ echo $n."\n";}//当然还可以这样function pri原创 2017-07-04 11:29:42 · 1147 阅读 · 0 评论 -
PHP 使用ImageMagic正片叠底
<?php/** * -compose 后面的参数为混合模式 * 混合模式中英文对照1. 正常(Normal)模式2. 溶解(Dissolve)模式3. 变暗(Darken)模式4. 正片叠底(Multiply)模式5. 颜色加深(ColorBurn)模式6. 线性加深(LinearBurn)模式7. 变亮(Lighten)模式8. 滤色(Screen)模式9. 颜...原创 2019-06-29 12:10:03 · 907 阅读 · 0 评论 -
php实现接口限流
php接口限流主要是防止高并发造成服务器扛不住的情况下,需要限制数据的获取,简单实现就是结合redis实现。<?php/** * api 接口限流 * */class api{ public function get_client_ip($type = 0) { $type = $type ? 1 : 0; sta...原创 2019-04-22 22:21:22 · 4383 阅读 · 0 评论 -
PHP设置多个Access-Control-Allow-Origin
<?php $http_origin = 'xx.588ku.com'; //方法一 if (preg_match('/588ku.com|shop.588ku.com|xx.588ku.com$/i', $http_origin)) { header('Access-Control-Allow-Origin:...原创 2018-10-12 17:49:14 · 5473 阅读 · 0 评论 -
PHP性能测试工具之Xhprof
Xhprof是一个PHP性能测试工具,该扩展只能安装在linux环境之下。首先安装步骤下载xhprof的源码包官网http://pecl.php.net/package/xhproftar -zxvf xhprof-0.9.4.tgzcd xhprof-0.9.4cd extensions./configure --with-php-config=/usr/local/data/php/bin/...原创 2018-05-07 21:14:10 · 625 阅读 · 0 评论 -
php图片等比例压缩
<?php /** * desription 压缩图片 * @param sting $imgsrc 图片路径 * @param string $imgdst 压缩后保存路径 */function image_png_size_add($imgsrc,$imgdst,$dst_w,$dst_h){ list($width,$height,$type)=getimagesiz原创 2015-04-23 17:30:29 · 1407 阅读 · 2 评论 -
vagrant环境搭建以及项目部署
搭建vagrant环境的好处是可以保证和正式环境保持一致,避免上线的时候环境导致运行异常。首先安装vagrant和oracle vm box,装的时候不能直接去官网下载最新的进行使用,因为vagrant和vmbox配合是需要对应版本的,这里我选择的版本:http://download.virtualbox.org/virtualbox/4.3.40/VirtualBox-4.3.40-11原创 2018-01-09 21:14:04 · 2638 阅读 · 0 评论 -
apaphe2.4+php5.6自定义配置
apaphe+php配置原创 2015-07-23 13:28:52 · 1447 阅读 · 0 评论 -
PHP远程下载大文件方法,防止内存溢出
<?phpset_time_limit(0);$hostfile = fopen("https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box", 'r');$fh = fopen("centos-7.0-x86_64.box", 'w');whi原创 2018-01-10 22:27:54 · 4421 阅读 · 0 评论 -
PHP解决前端跨域问题
前不久使用vue做了一个单页的应用,一切配置都按照要求配置完毕之后,使用vue的axios请求的时候报出了不支持跨域的操作,指出服务端拒绝了请求,后来查阅相关资料,需要对PHP的header请求进行一些配置。代码如下:<?php header("Access-Control-Allow-Origin: *"); //如果需要设置允许所有域名发起的跨域请求,可以使用通配符原创 2017-12-06 22:29:02 · 1321 阅读 · 0 评论 -
PHP写linux的shell脚本,以及crontab运行方法
首先php可以写linux的shell脚本,是非常快捷方便的,也展现了php的强大。(1)讲解头部的一些开头文件代表什么意思。eg#!/usr/bin/env php#!/usr/bin/php哎,看了网上的一些说法,说只要平常写#!/usr/bin/env php就可以了,我也尝试了好多次,不成功,不得其原因,于是自己去琢磨了一下。大概的意思是指的php的编译路径原创 2017-12-12 20:55:38 · 4245 阅读 · 0 评论 -
PHP数据类型转换的一些坑
PHP作为一门弱类型语言,在数据类型方面不像JAVA那么严格,在数据转换方面有时候却会不小心就掉进了坑里面,字符串转换整型,Float等,如果不加注意,都会得不到自己预想的结果。//字符串转数字,遇到字符就不进行下面的转换了 $str = '22ww333'; settype($str,'integer'); echo $str.'';//22 $str = '121.9.原创 2015-08-14 13:40:17 · 1069 阅读 · 0 评论 -
正则表达式学习和感悟
说起正则表达式就是我心中的痛点,做开发已经近三年了,居然不会正则表达式;首先进行自我分析了一波,为什么不学以及又努力学好正则表达式的经历。首先:为什么不学习正则表达式?原因(1):正常开发中用不到。 (2):偶尔用到了验证邮箱的和手机号的直接百度复制来用就搞定了。就是上面这两点一直是我没有学习正则表达式的根源。为什么又学习了?(1)发现面试经常会出正则表达式的原创 2017-11-04 19:07:16 · 528 阅读 · 0 评论 -
PHP 按一定比例压缩图片,保持清晰度
图片压缩是我们日常开发中经常使用的操作,在如今需求很多的情况往往,上传的一张图片会被压缩成不同比例的图片,每次去操作也是一件非常繁琐的事情,于是进行了封装了一个压缩图片的操作类,希望大家遇到后,不用再为写很多压缩图片代码烦恼了。压缩图片的工具类:<?php/** 图片压缩操作类 v1.0*/ class Image{ private $src; pr原创 2015-11-02 21:13:38 · 17523 阅读 · 4 评论 -
PHP self与static区别
在PHP中,调用一个静态变量,我们既可以使用self也可以使用static,结果也许都是我们期望的,但是,有时候并不是我们所想的那样,static和self的区别还是很大的,下面我们进行代码来进一步说明它们之间的区别。首先创建一个class:<?php class Boo { protected static $str = "This is class Boo";原创 2015-11-10 14:02:24 · 10715 阅读 · 1 评论 -
mysql数据表不同引擎读写机制
为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制。一、概述MySQL有三种锁的级别:页级、表级、行级。MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-levellocking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locki转载 2015-08-12 17:51:16 · 715 阅读 · 0 评论 -
mysql处理高并发数据,防止数据超读
今天王总又给我们上了一课,其实mysql处理高并发,防止库存超卖的问题,在去年的时候,王总已经提过;但是很可惜,即使当时大家都听懂了,但是在现实开发中,还是没这方面的意识。今天就我的一些理解,整理一下这个问题,并希望以后这样的课程能多点。先来就库存超卖的问题作描述:一般电子商务网站都会遇到如团购、秒杀、特价之类的活动,而这样的活动有一个共同的特点就是访问量激增、上千甚至上万人抢购一个商品。转载 2015-08-05 21:59:30 · 3232 阅读 · 0 评论 -
WEB系统大规模并发——电商秒杀与抢购
【问底】徐汉彬:Web系统大规模并发——电商秒杀与抢购发表于2014-12-02 09:30| 23177次阅读| 来源CSDN| 79 条评论| 作者徐汉彬问底徐汉彬大数据摘要:电商的秒杀和抢购,从技术的角度来说,会对Web系统产生巨大的考验。本期《问底》,徐汉彬将带大家关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因转载 2015-08-11 22:00:04 · 918 阅读 · 0 评论 -
file_get_contents 注意及使用curl替换
使用简单便捷的 file_get_contents("http://example.com/") 函数,来获取一个 URL 的返回内容,但是,如果 http://example.com/ 这个网站响应缓慢,file_get_contents() 就会一直卡在那儿,不会超时。PHP 脚本会一直执行下去。这样,当所有的 php-cgi 进程都卡在 file_get_contents() 函数时,这台转载 2015-08-25 10:21:55 · 2340 阅读 · 0 评论 -
防止CSRF跨域攻击
防止csrf跨域攻击原创 2015-07-29 17:42:13 · 1792 阅读 · 0 评论 -
PHP单例模式例子
单例模式是我们在开发中经常用到的一种设计模式,利用PHP5面向对象的特性,我们可以很容易的构建单件模式的应用,下面是单件模式在PHP中的几种实现方法:方法一: class Stat{ static $instance = NULL; static function getInstance(){ if(self::$instanc原创 2015-08-24 17:31:49 · 1073 阅读 · 0 评论 -
PHP安全下载文件
需要下载的是一个文件名为xxx.rar的文件,首先创建文件是download.php的PHP文件。通过前面的例子很容易通过文件的ID号从数据库中得到待下载文件的真实位置,在获得文件的真实存储位置后,可以通过header()函数的location参数直接重定向到这个文件。但是这样仍然是不安全的,因为某些下载软件还是可以通过重定向分析获得该文件的位置信息。因此需要用另外一种方法,就是PHP的文件处理A原创 2015-08-24 15:59:05 · 791 阅读 · 0 评论 -
PHP读取大文件小技巧
有时候分析日志的时候往往只需要读取最新的日志,就需要读取日志文件的最后一行数据,如果直接使用file操作读取到内存进行遍历,不用看你的电脑已经宕机,或者,一直在运行读取文件,不能这样直接操作,如果日志文件达到了5G,甚至更大,系统会直接崩溃,下面的一些小技巧分享:1、使用file()方法,将文件变为数组,取最后一组数据. ini_set('memory_limit','-1');原创 2015-08-24 14:59:38 · 629 阅读 · 0 评论 -
CURL下载文件
下载文件一般直接在网站挂个连接就可以实现,如果默默的抓取网站的资源的话可以使用CURL,这里介绍CURL抓取网站图片的功能:代码:<?php $url = 'http://pic1.nipic.com/2008-09-08/200898163242920_2.jpg'; function http_get_data($url) {原创 2015-07-28 14:31:25 · 1005 阅读 · 0 评论