
PHP
小龙在山东
本博客为个人整理的技术笔记,仅用于学习。
展开
-
Ubuntu LNMP 环境安装swoole扩展
本机环境Ubuntu 16.04需要用到gccsudo yum install gccswool源码下载地址https://github.com/swoole/swoole-src/releaseshttps://pecl.php.net/package/swoolehttps://gitee.com/swoole/swoole/tags安装wget -c https://github.com/swoole/swoole-src/archive/refs/tags/v4.8.0.tar.原创 2021-10-22 12:44:24 · 239 阅读 · 0 评论 -
php字符串转日期
不适用dd/mm/yyyy格式,因为/导致的歧义。可以使用来解决此问题。原创 2021-03-26 18:34:55 · 1112 阅读 · 2 评论 -
PHP的=和!的运算符优先级
一般编程语言中,运算符!的优先级大于=,但是在PHP中有个意外。PHP这样写可以正常运行:$str = 'asdf';var_dump(!$str = false);结果为bool(true)。参考PHP官方文档可知:Note:尽管 = 比其它大多数的运算符的优先级低,PHP 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中 foo()的返回值被赋给了 $a。也就说上面的代码相当于:$str = 'asdf';var_dump(!($str = false))原创 2020-05-27 15:18:38 · 521 阅读 · 0 评论 -
phpmyadmin中最大限制:2,048 KB的解决
这个问题经常忘,这里备忘一下。超过php最大上传文件大小php.ini设置:post_max_size = 1024Mupload_max_filesize = 1024Mmax_execution_time = 3000max_input_time = 60memory_limit = 2048MApache也会超长报错mod_fcgid: HTTP request leng...原创 2020-04-14 18:17:43 · 1390 阅读 · 0 评论 -
End of script output before headers: index.php
今天要用到一个老版本的Apache和php,具体版本号如下:Apache/2.4.37 (Win64) mod_fcgid/2.3.9PHP Version 5.6.14配置好Apache之后就报错了:[client 127.0.0.1:65317] mod_fcgid: get overlap result error, referer: http://xx/ End of scri...原创 2020-03-17 17:04:06 · 2892 阅读 · 0 评论 -
PHP 根据嵌套数组中的某个值进行排序(对数据库结果进行排序)
经常需要根据嵌套数组中的某个值进行排序,例如新闻列表的id倒叙、发布时间倒序排列等。这里有两种方法。原创 2020-02-18 15:24:59 · 1260 阅读 · 0 评论 -
Yii2查询获取键值对
使用Restfull接口,经常要用到键值对,常用的方法有两种。方法一:ArrayHelper$objs = Category::find()->limit(10)->all();$all = ArrayHelper::map($objs, 'catid', 'catname');或纯SQL查询:$objs = Yii::$app->db->createComma...原创 2019-11-20 18:13:40 · 1356 阅读 · 0 评论 -
Yii2 ajax的post请求Csrf验证失败
为了防止Csrf,Yii2加了_Csrf验证码,一般不建议关闭。不过这给发送表单请求带来了麻烦,这里有两种解决方法:关闭Csrf在方法内部关闭:$this->enableCsrfValidation = false;在配置文件中,全局关闭:"enableCsrfValidation"=> false添加_csrf隐藏域<input name="_csrf" ty...原创 2019-11-20 14:48:55 · 687 阅读 · 0 评论 -
Yii2 带搜索的下拉列表 select2
yii2-widget-select2是基于jquery和bootstrap的下拉列表,支持搜索、远程数据集调用、无限下拉等功能。安装$ php composer.phar require kartik-v/yii2-widget-select2 "@dev"或添加:"kartik-v/yii2-widget-select2": "dev-master"到composer.json文...原创 2019-11-20 14:42:04 · 801 阅读 · 0 评论 -
php获取图片格式(图片后缀)
一、getimagesize(支持base64):代码:<?php/*@desc:获取图片真实后缀@param name 文件名@return suffix 文件后缀*/ function getimgsuffix($name) {$info = getimagesize($name);$suffix = false;if($mime = $info[...原创 2019-10-25 11:05:49 · 7399 阅读 · 0 评论 -
git clone fatal: HTTP request failed
问题git clone的时候出现HTTPS request failed错误,目前发现有一下三种原因。git版本太老更新git# 移除git yum remove git # 解决报错 yum install xmlto # 下载wget https://github.com/git/git/archive/v2.2.1.tar.gz# 解压tar zxvf v2.2....原创 2019-08-08 18:27:53 · 559 阅读 · 0 评论 -
composer 国内镜像 阿里镜像
阿里镜像(推荐)官网:https://developer.aliyun.com/composer全局配置(推荐)所有项目都会使用该镜像地址:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/取消配置:composer config -g --unset repos.packa...原创 2019-08-08 18:19:01 · 1990 阅读 · 0 评论 -
PHP call_user_func来实现链式操作详解
在php中有很多字符串函数,例如要先过滤字符串收尾的空格,再求出其长度,一般的写法是:strlen(trim($str));如果要实现类似js中的链式操作,比如像下面这样应该怎么写?$str->trim()->strlen();这样代码更简洁,逻辑更清晰,下面分别用三种方式来实现:方法一、使用魔法函数__call结合call_user_func来实现链式操作的核心是返回...原创 2019-06-11 18:18:38 · 678 阅读 · 0 评论 -
PHPExcel从Excel读取导入数据
// 从上传的文件里读取到文件$filename = $_FILES['excel']['tmp_name'];// 创建读取对象并加载Excel文件$objReader = PHPExcel_IOFactory::createReader('Excel2007');$objExcel = $objReader->load($filename);// 默认使用第一个工作簿,并获...原创 2019-05-26 09:45:17 · 4651 阅读 · 0 评论 -
PHPExcel导出数据到带多个工作簿的Excel
use PHPExcel;use PHPExcel_IOFactory;use PHPExcel_Worksheet;// 测试数据$list_data = [[["title1"] => "t1", ["title2"] => "t2", ["title3"] => "t3"],[["title1"] => "t4", ["title2"] => "t...原创 2019-05-26 09:32:29 · 2324 阅读 · 0 评论 -
PHP输出函数区别
函数名介绍返回值echo语言结构,非函数,无括号时可以多个值,用逗号分割。整形和字符串,布尔类型会转换成1或空无返回值print语言结构,非函数,只能一个参数值,比echo慢。打印类型同echo无返回值print_r可以输出整形、字符串、数组、对象第二个参数设定为true,将打印内容返回sprintf把格式化的字符串写入变量中返回格式化好的字...原创 2018-12-21 15:30:58 · 722 阅读 · 0 评论 -
PHP错误日志跟踪记录register_shutdown_function/set_error_handler/set_exception_handler
写程序不可避免有错误,而调试错误就很重要了,需要看错误信息,错误发生的文件、行号等,特别是对于线上的系统调试,不能让用户看到错误信息,这就需要把错误信息记录日志里。下面简单写了一段错误记录的小程序。&amp;amp;amp;amp;lt;?phpfunction myErrorHandler($errno, $errstr, $errfile, $errline){ $f = fopen(&amp;amp;amp;quot;log.txt&amp;原创 2018-12-21 10:46:09 · 1429 阅读 · 0 评论 -
帝国cms(empirecms)常用代码
<table width="100%" border="0" cellspacing="1" cellpadding="3">[e:loop={栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,'firsttitle=1 or isgood=1','firsttitle desc,newstime desc'}]<tr><td><a href="<?=$bqsr[titleurl]?>原创 2017-08-22 15:43:03 · 3530 阅读 · 0 评论 -
phpcms常用代码
自增序列号$n:1,2,3,。。。。根据栏目id获取栏目名和栏目链接<a href="{$CATEGORYS[$r[catid]][url]}">[{$CATEGORYS[$r[catid]][catname]}]</a>根据推荐位调用文章列表:{pc:content action="position" posid="2" catid="13" order="listorder DESC" num=原创 2017-08-22 15:51:09 · 1051 阅读 · 0 评论 -
Composer安装/镜像/常见命令/安装依赖/初始化/版本号
安装curl -sS https://getcomposer.org/installer | phpcomposer自己更新composer self-update配置中国镜像#使用命令: composer config -e#修改composer.json 添加如下代码 { "repositories": [ { "packagist": fa原创 2017-11-10 18:48:51 · 2053 阅读 · 0 评论 -
织梦(dedecms)常用代码
按指定条件获取文章列表{dede:arclist row='7' typeid='15' infolen='30'}<div class="item"><img src="[field:litpic/]" alt="[field:title/]"><h3><a href="[field:arcurl/]">原创 2017-08-22 15:21:33 · 2298 阅读 · 0 评论 -
设置环境变量配置的简单方法.env
什么是.env通过 .env 加载环境变量并且能够自动的通过 getenv(), $_ENV和 $_SERVER 自动调用.原创 2017-11-27 15:47:33 · 50677 阅读 · 2 评论 -
php获取N天前时间字符串和时间戳/相互转换
【代码】php获取N天前时间字符串和时间戳/相互转换。原创 2018-01-15 14:24:01 · 3923 阅读 · 1 评论 -
Composer 提示 but these conflict with your requirements or minimum-stability
安装一个模块的时候,提示:but these conflict with your requirements or minimum-stability原因是安装的模块和设置的需求或最小稳定版本冲突了。 可以修改composer.json把minimum-stability改为dev。...原创 2018-07-17 10:12:14 · 5427 阅读 · 0 评论 -
PHP开启debug模式显示错误报错
打开报错ini_set("display_errors", "On");error_reporting(E_ALL | E_STRICT);框架开启debug一般是在配置文件里:debug: true或app_debug = true 或在入口文件index.php里:开启debug,并且设置环境为开发模式。# 以YII为例# defined('YII_DEBUG')...原创 2018-11-21 18:06:14 · 7895 阅读 · 0 评论 -
php读写Excel/Pdf
PHPExcel[1]已经废弃,现在用PhpSpreadsheet[2],官方文档。PhpSpreadsheet是一个用纯PHP写的类库,可以读写操作不同的电子表格文件格式,像Excel和LibreOffice。支持的文档格式:FormatReadingWritingOpen Document Format/OASIS (.ods)✓✓Office Open ...原创 2018-11-23 10:25:42 · 842 阅读 · 0 评论 -
Yii2 UploadedFile上传文件
UploadedFile是Yii2自带的文件上传工具。下面是在控制器里写的一个文件上传,作为笔记,还有待完善,要加文件类型验证、多文件上传等。/** * 上传图片 */public function actionUpload(){ Yii::$app-&gt;response-&gt;format = Response::FORMAT_JSON; if(Yii::$ap...原创 2018-11-29 11:11:49 · 3185 阅读 · 0 评论 -
Yii2 rules datetime格式化验证
使用datetime平常经常使用datetime这种数据格式,特别是在model的rules里:public function rules(){ return [ [['create_at'], 'datetime'] ];}那表单提交后怎么转换为这种格式呢?一般使用Yii2的formatter,在配置文件中添加这样的代码:配置formatterre...原创 2018-12-07 16:40:01 · 3631 阅读 · 0 评论 -
PHP下载采集图片到本地
下载远程图片到本地/** * 下载远程图片到本地 * * @param string $url 远程文件地址 * @param string $filename 保存后的文件名(为空时则为随机生成的文件名,否则为原文件名) * @param array $fileType 允许的文件类型 * @param string $dirName 文件保存的路径(路径其余部分根据时间系统自动生...原创 2018-12-05 15:20:13 · 5671 阅读 · 0 评论 -
PHP CURL GET HTTPS报错SSL certificate problem: unable to get local issuer certificate
请求HTTP使用php curl获取http资源,不会报错。如下:&lt;?php// 创建curl资源$ch = curl_init(); // 设置urlcurl_setopt($ch, CURLOPT_URL, "baidu.com"); // 将Transfer作为字符串返回curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// 执...原创 2018-12-15 11:13:14 · 28495 阅读 · 2 评论 -
Yii常用功能手册
Yii2速查手册原创 2017-04-13 17:21:31 · 1785 阅读 · 0 评论