php日常bug
这部分是记录日常的bug,我们都是bug制造者!
铁柱同学
博主从事后端开发已然八年,然入行越久越深感知识无限,学海无涯,非一时之功。故编写博客,用于自省记录,也遵循前辈们的教导,希望可以帮到更多的人。愿各位都能勇攀高峰,顺利成为大佬!奥利给!
展开
-
php 定义数组使用逗号,
一.前言在看代码的过程中,发现有个奇怪的代码,而且还没百度出来有啥用,所以这里记录一下。上代码: if (in_array($test, [1,])) { } // 这个 [1,]二. 测试一下$test_id = 10;$arr = [1,];if(in_array($test_id,$arr)){print_r("yes");}print_r($arr);//====================结果:Array( [0] =>原创 2021-03-10 20:00:11 · 516 阅读 · 2 评论 -
PHP的CI框架学习
一、前言 完全没想到新公司会使用CI框架,虽然一直听说,但是大家平时还是用laravel,yii,tp多一些,第一次接触CI,值得记录一下。 网上关于CI的文档很多,也很全面,博主这里只是简单的记录下。后续有需要记录的还会持续补充,,并不是一篇对新手很友好的文章了。。二、CI入门手册地址:http://codeigniter.org.cn/user_guide/原创 2020-12-27 20:38:19 · 3215 阅读 · 0 评论 -
php使用ssh远程调用另一个服务器执行命令(python脚本)
文章目录一、前言二、具体步骤1、php使用exec函数调用命令行2、ssh跨机器执行命令(1)登录到另一台机器(2)登录且执行命令3、复制秘钥文件并赋予权限4、复制py文件到指定机器的指定位置5、ssh登录远程主机,执行相关命令6、部分命令解析(1)执行py文件并显示最新的10行输出内容(2)创建文件并修改文件所有者7、需要注意的地方一、前言 如题所示,本篇的要点就是如何用php去调用另一台服务器去执行一些命令。主要分为以下几个部分;原创 2020-10-27 21:40:05 · 1612 阅读 · 2 评论 -
阿里OSS配置自定义域名步骤详解
一、前言 好早之前就写过阿里OSS的文章,本来以为可以直接用的,结果一顿操作完,上传是上传了,但是访问的时候变成了下载???没办法直接看图片了。百度发现:浏览器访问OSS中的网页类型文件时提示下载资源出于安全考虑,从2018年8月13日起,直接使用OSS访问域名,从互联网访问OSS上的网页类型文件(mimetype为text/html,扩展名包括htm、html、jsp、plg、htx 和stm)时,Response Header中原创 2020-07-05 20:58:03 · 9652 阅读 · 6 评论 -
yii2.0错误:Exception yii\base\InvalidConfigException with message
一、前言 最近碰到一个yii2.0的报错,网上查的时候也没什么太好的资料参考,所以就记录一下。完整的报错是:Exception 'yii\base\InvalidConfigException' with message 'Failed to instantiate component or class "Array"二、错误堆栈 既然查不到类似的错误,那就只原创 2020-06-25 16:58:01 · 5004 阅读 · 3 评论 -
php程序内存优化之数组操作优化
一、前言这篇文章其实是上篇文章的内存优化部分。博主的php程序在执行的时候,报错:Out of memory (allocated 364904448) (tried to allocate 262144 bytes) 也就是传统的内存不足报错,问题是我本地设置的内存已经是1280M了,简直不能忍。因此这里一步步的看一篇...原创 2019-05-10 10:37:56 · 2931 阅读 · 0 评论 -
php封装pdo实例以及pdo长连接的优缺点
文章目录一、前言二、为什么选择pdo三、pdo的长连接1、什么是pdo的长连接2、长连接对nginx无效吗3、php-fpm下的长连接测试4、长连接对事务的影响5、总结四、pdo部分demo的封装1、断线重连机制2、转化php warnings为try..catch可捕获的错误3、析构方法回收资源4、query的时候ping一下5、下载地址一、前言  ...原创 2020-03-25 22:22:08 · 4772 阅读 · 32 评论 -
phpexcel设置AAA单元格,兼容大于702列数据
一、前言 线上好好运行的程序突然报错:Invalid cell coordinate [A2 ,是个很偶然的错误,而且并不是整个下载功能都不能用了,只是当选择特定条件的时候才会报这个错,经过各种排查终于锁定了错误,鉴于这块可参考的文章不多,特此记录一下。二、排查过程1、检查格式发现无误  ...原创 2019-11-27 22:33:57 · 1308 阅读 · 2 评论 -
composer报错:received xxx bytes out of the 以及composer手动引入扩展包
一、前言 如题所示,博主在下载laravel5.4的Predis扩展的时候遇到的错误,本来只是个composer下载的报错,只是处理这个问题的时候,又遇到很多知识点,索性记录一下,也方便同样遇到这个问题的朋友们。二、普通解决方案 经过各种搜索查询,网上普...原创 2019-10-14 12:30:02 · 1493 阅读 · 4 评论 -
php通过浏览器下载json文件遇到的问题
一、前言 最近要做一下json文件下载的功能,就是点击一个按钮,然后执行下载操作。本来这种下载应该是很简单的,不过博主在实际操作的时候,还是遇到了不少问题,记录一下。二、ajax不能下载文件1、为什么不能下载 如标题所示,本来是通过ajax请求链接下载...原创 2019-07-18 00:51:06 · 1541 阅读 · 3 评论 -
Ueditor删除无用图片详解
一、前言 在上一篇文章 yii2.0使用ueditior完成上传单张,多张图片,上传视频等操作 之后,博主进行了大量的测试,偶然发现图片文件夹越来越大。。 是的,比如上传了a.png和b.jpg,等到要提交的时候,又把a.png在编辑器中给删除了(back...原创 2019-07-06 22:45:18 · 2016 阅读 · 10 评论 -
yii2.0使用ueditior完成上传单张,多张图片,上传视频等操作
一、前言 由于工作需求需要集成富文本编辑器,本来是想要选用之前用过的WangEditor的,但是考虑到WangEditor还是比较小众,所以最终选择了没用过的Uedtor,这篇文章主要讲述了Yii2.0集成Ueditor的基本配置,以及上传单张,多张图片,上传视频的问题。关于WangEditor的文章:wangEditor...原创 2019-07-06 22:18:50 · 1142 阅读 · 2 评论 -
php生成静态页面并预览
一、前言 最近要找房子搬家,作为一名青漂,每年换房子都要成为习惯了,不过还好,偌大的城市还能容得下身体和灵魂。 这篇文章主要是记录一下php生成静态页面的大致步骤,关于页面静态化,大家想必都听说过,但是真正用的时候反而不是很多。有些页面考虑到访问量比较大,...原创 2019-06-27 09:53:02 · 3089 阅读 · 19 评论 -
网页上的base64码太长?科普base64到底是啥
一、前言 书接上回,上次是通过返回base64码给前端页面,实现了我们访问项目外图片的目的。只是代码实在是太长了,不好看啊,得想办法优化下。顺带了解下base64到底是啥,用着好不好,会不会影响速度呢?php上传图片到非项目目录,前端页面的读取问题二、代码逻辑优化1、需要时再请求,不需要时不要管  ...原创 2019-06-13 20:46:00 · 9485 阅读 · 9 评论 -
php上传图片到非项目目录,前端页面的读取问题
一、前言 关于上传文件部分的危险,一直以来都有听说,但是之前为了方便,一直都是直接放到项目根目录,方便访问。只是现在项目越来越大,安全问题虽然不用刻意追求,但这些基本的地方还是要注意一下的。上传的路径最好是项目不能直接访问到的。PHP 安全:如何防范用户上传 PHP 可执行文件  ...原创 2019-06-13 20:28:46 · 1864 阅读 · 0 评论 -
json_decode的结果是null
一、前言 突然发现一个接口出了问题,经过排查之后发现是json_decode($str,true)的问题,返回竟然是null。这个问题大家可能都碰到过,出现问题的原因就那么几种,再次记录一下吧二、原因1、首先使用json_last_error确定问题 $arrDataList = json_decode($content...原创 2019-06-13 00:16:09 · 2034 阅读 · 2 评论 -
mysql命令行的光标不显示和git-bash不能直接使用mysql登录的问题
一、前言 这篇算是零散的小问题集合吧,平时碰到的小问题,虽然不致命,但是挺影响开发效率的,记录一下。二、正文1、mysql命令行的光标不显示 不知道大家碰到过这情况没,通过cmd进入命令行之后,有时候是没有光标的,这可就太费劲了,想修改下sql都不知道...原创 2019-06-04 20:38:41 · 6020 阅读 · 4 评论 -
yii2.0框架中自定义接口,实现类的多继承
一、前言 最近有个需求,比如有A,B,C,D四个文件,原来的逻辑是,A继承B,C继承D。后来由于A和C的逻辑太想,既然如此的话,为什么不把A,C写一起呢,第一是方便维护,第二也是减少无用的代码,说干就干二、首先使用trait特性 我们知道,php没有多继...原创 2019-05-27 23:32:05 · 1747 阅读 · 2 评论 -
php的$_SERVER['HOSTNAME']
一、前言 在最新一次更新代码后,发现代码中出现了$_SERVER['HOSTNAME']这个东西,关键是$_SERVER["HTTP_HOST"]和$_SERVER["SERVER_NAME"] 我们经常用到,一般是用来获取服务器上的相关参数,唯独这个HOSTNAME参数是实在没见过。二、寻找$_SERVER[‘HOSTNA...原创 2019-05-21 20:34:04 · 3785 阅读 · 2 评论 -
composer update报错: The "https://packagist.phpcomposer.com/p/xxx file could not be downloaded
一、问题描述 如题所示,这个就是当时compoer update一直报错,想要下载一个插件到本地,死活下载不出来,详细报错如下: [Composer\Downloader\TransportException] The "https://pack...原创 2019-04-09 17:15:56 · 6869 阅读 · 0 评论 -
php代码优化以及开发中的小技巧(持续补充)
一、前言 这篇文章是博主平时记的小笔记,记录的是平时开发没有注意到的细节,或者在写代码的时候可以优化的部分。有相当一部分bug都是开发中不够严谨造成的,所以大家共勉。提升代码质量,快乐撸码!二、正文1、 代码的公用部分尽量不要改动,除非是所有的项目都需要添加某些新功能2、 对于自定义的数组,对象等不同文件,要按照已有的文...原创 2019-03-21 13:02:58 · 2993 阅读 · 20 评论 -
要求输入框里面必须同时含有字母,数字,特殊字符,且不小于8位
一、前言       我们在做输入框的时候,总是要用正则来限制用户输入的一些条件的,这里的要求是输入框中必须同时含有大小写字母,数组,特殊字符等,行吧,咱们一起研究下。二、思路百度出来一个很好的思路:分析一下,总结需求如下: 1.必须包含字母,即字符当中字母的个数>=1; 2.必原创 2019-03-14 20:21:10 · 12436 阅读 · 8 评论 -
header中的参数讲解
      做下载功能的时候,经常需要定义header头,但是header可以定义的属性太多了,有时候会显得无从下手。这里记录一下我用到的几个header头,并且给出它们的作用以及参考链接。header("Content-Type: application/force-download"); 参考链接: //原创 2019-02-22 13:13:01 · 9960 阅读 · 1 评论 -
jquery的sortable拖拽排序问题,在页面上多次拖拽保存顺序之后,刷新页面,排序出现紊乱
一、前言 这篇博客是因为我在做完拖拽保存之后,测试多次拖拽,然后刷新页面,发现保存的顺序出来紊乱。这就很无奈了啊,打印各项数据才发现,因为保存用的是ajax的方式,所以页面上的列表序号是固定的,比如列表序号是:1-2-3-4-5 那么把1和5互换位置之后为:5-2-3-4-1 也就是说,每个列表的序号是固定的我...原创 2019-02-20 20:27:38 · 9476 阅读 · 15 评论 -
php获取数组中,相同键名的键值之和
一、记录一下一个数组求相同键名的键值和的简便方法: 比如你有一个数组:$arr = array( [0]=>array( [0]=>array( 'user_id'=>100, 'field'=>100 ), [1]=>array( 'user_id'...原创 2019-01-27 13:48:56 · 3906 阅读 · 0 评论 -
UTF-16转UTF-8的方法,防止文件有BOM头
一、前言 在读公司代码的时候,发现了一个UTF-16转UTF-8的方法,这还是博主第一次见到这种方法,不由的好奇了起来。为什么要转,应用场景是什么呢?这里大家一起来探讨下二、贴代码 /** * @desc UTF-16转为UTF-8编码, 必须带有BOM文件头的才可以转, * ...原创 2019-01-27 10:25:07 · 8141 阅读 · 0 评论 -
PHP的addslashes 函数详解
一、前言      博主在接受新代码的时候,发现代码中频繁使用addslashes 这个函数,说实话,博主在之前还真没怎么用过这个函数,所以这里总结一下它的大致用法。这类安全性的函数某种意义上也代表了咱们的水平吧,能考虑到这点,并且会用就可以。二、函数的解释1、概念概念请参考该博客:https://原创 2019-01-19 10:30:37 · 4952 阅读 · 2 评论 -
PHPExcel报错:谷歌浏览器显示网页可能暂时无法连接,或者它已永久性地移动到了新网址的原因?
      最近接手新项目的时候,本地的phpexcel跑不起来,导出文件的时候报错:“谷歌浏览器显示网页可能暂时无法连接,或者它已永久性地移动到了新网址的原因?”,国际惯例,碰到问题先百度,然后这里分析下报错的原因。一、修改导出的excel版本1、修改导出excel版本为excel5 $objWriter = \PHPExcel_...原创 2019-01-09 10:27:30 · 14582 阅读 · 1 评论 -
php多线程编程代码实例
这里所谓的多线程,指的是在不影响正常程序的基础上,可以同时访问其他的链接或者命令, 执行其他的程序。这里仅仅是记录一下相关的代码。1、popen方式 /* * popend的方式 * */ public function popenDownload($url) { $pageURL...原创 2019-01-02 13:26:51 · 1329 阅读 · 0 评论 -
php程序员面试题(持续补充,偏中级面试题)
博主最近找工作,记录了不少面试题,有些还是挺值的学习的,这里记录一下。有些我会给出参考链接,有些需要大家自己百度了,持续补充。。一、公司一1、php的接口和抽象类有什么区别,应用场景有哪些 https://blog.csdn.net/hanxueyu666/article/details/75712917 https:...原创 2018-12-25 17:46:03 · 2480 阅读 · 0 评论 -
php中为什么要用heade定义头,有什么应用场景
一、背景      平时我们在写代码的时候经常用定义header()相关的东西,以前博主也只是知其然不知其所以然,这里总结一下,希望以后再碰到需要定义header的需求,能快速知道自己该这么做。二、什么是header    &nb原创 2018-11-13 17:47:42 · 1673 阅读 · 0 评论 -
php删除文件夹(临时文件)代码
我们有时候需要删除刚生成的临时文件,比如上传图片或者生成图片的时候,我们需要现在本地存储起来,然后再上传到图片服务器。当图片上传到服务器之后,那本地存储的图片就没用了,为了避免项目文件过大,所以删除本地的图片文件的就变得很有必要。直接分享一段代码://需要传两个参数,一个是我们需要删除的文件路径,比如: $path2=...原创 2018-10-26 11:26:39 · 2441 阅读 · 0 评论 -
git 无法拉取项目,本地ping不通github的解决办法(详解)
一、遇到的问题      本地在从github上拉取项目的时候,一直卡着,然后过个2分钟就报错,连接超时。问题是我前几天还能git pull项目呢,百思不得其解。后来本地浏览器访问github,得,连全世界最大的基佬交友网站都访问不了。本地ping一下IP吧,果然ping不通。二、解决过程说原创 2018-09-14 17:00:08 · 18473 阅读 · 2 评论 -
php的精度计算问题(bcadd和bcsub)
一、前言 我们在进行php开发的时候经常会遇到浮点型的问题,特别是涉及金额的部分,常常需要进行加减运算。当小数点的位数比较多的时候,往往容易犯一些很低级的错误。这里记录一下php的精度计算和封装的小demo。二、关于php的高精度问题1、概念解释这篇文章的解释最清楚:php高精度计算问题2、高精度数值...原创 2018-08-31 14:03:06 · 10039 阅读 · 2 评论 -
php程序监听node.js程序和go程序
一、前言 在公司的项目中,主要是用php作为服务端语言开发,但是对于区块链这个技术,提供的SDK一般都是node的,包括一些底层验证是通过go编写的,那么我们php该如何调用这些程序呢二、使用file_get_contents或者curl1、使用file_get_contents范例 &...原创 2018-08-30 16:48:47 · 1339 阅读 · 2 评论 -
引用http开头的JS失败以及laravel的url()方法的坑
一、前言 昨天在发布新项目的时候,出现引用的jquery文件无法识别。android报错无法使用http开头的外部js文件。然后改为https开头的就可以了。紧接着,laravel中的ajax也都请求失败,原因同样是请求链接不是https的。虽然这些问题都解决了,但是知其然不知其所以然,不是我们的风格。二、引用外部h...原创 2018-08-14 11:22:34 · 2504 阅读 · 0 评论 -
什么是CDN服务?
一、首先是百度CDN      CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。 &am原创 2018-08-10 17:23:51 · 12383 阅读 · 6 评论 -
php根据不同的条件替换一段html代码中的不同的img标签
一、需求 这次的需求是获取到一段html代码,这段代码里面含有多个img标签。需求就是先获取到这些img标签的src属性,然后进行业务编写。业务编写之后,把新的src内容分别替换到不同的img标签中。这部分逻辑听起来很简单,但实际操作还是有点难度,下面说一下解题过程。二、实现过程1、获取到一段html代码中所...原创 2018-08-02 00:09:58 · 2964 阅读 · 2 评论 -
php的服务器变量$SERVER以及防止$_SERVER['PHP_SELF']造成的XSS漏洞攻击及其解决方案
一、背景      突然想起来之前面试的一些面试题,让我写出几个服务器变量$SERVER代表的意思。。实话实说,这些东西已经忘记很久了,都是用的时候直接上网查,今天再复习复习吧。二、$SERVER     &原创 2018-06-04 15:43:37 · 3077 阅读 · 0 评论 -
win10系统配置apache 2.4的虚拟主机以及查看 apache的版本
一、背景      写这篇博客的原因是因为上午在配置虚拟主机的时候,明明很简单的配置,却花了大量的时间,我这边按照win7下配置,一直出错,所以记录一下。win7下配置apache的虚拟主机: https://blog.csdn.net/ljfphp/article/details/7709395原创 2018-05-25 11:01:41 · 2270 阅读 · 2 评论