php
SHUIPING_YANG
事在人为,凡事预则立,不预则废!
展开
-
laravel加载多环境配置
把.env文件清空,里面写入local,testing,production等,则可以切换对应的环境。继续优化,把这段代码移到index.php文件中,如下:$app = require_once __DIR__.'/../bootstrap/app.php';# .env配置多环境$app->detectEnvironment(function () use($app) { $envName = trim(file_get_contents($app->environment原创 2022-05-10 15:27:44 · 614 阅读 · 0 评论 -
通过session_id获取session信息
在做测试的时候,不想每次都登陆,可以尝试使用session登录,设置不限时间一个redis的key,然后每次手动设置一个session。session_id('5893qfjirn5arp0begcfxx2ls7'); //设置session idsession_start();ddd(serialize($_SESSION));...原创 2022-05-09 18:17:55 · 1387 阅读 · 0 评论 -
windows下安装xdebug记录
查看php适合哪个版本我在这里是踩过坑的,始终不行,确定了php版本,是否线程安全,32位还是64架构,都对上了,但是还是不对。提示如下错误:[23-Mar-2022 09:24:46 UTC] PHP Warning: Failed loading Zend extension 'xdebug-3.1.3-7.4-vc15-x86_64' (tried: D:/laragon/bin/php/php-7.4.19-Win32-vc15-x64/ext\xdebug-3.1.3-7.4-vc15-x8原创 2022-03-24 15:11:04 · 1158 阅读 · 0 评论 -
FinfoMimeTypeDetector:68报告内存使用超过限制
错误内容如下:[2021-12-21 02:09:13] production.ERROR: Allowed memory size of 134217728 bytes exhausted (tried to allocate 982239704 bytes) {"exception":"[object] (Symfony\\Component\\ErrorHandler\\Error\\FatalError(code: 0): Allowed memory size of 134217728 byte原创 2021-12-21 11:05:57 · 712 阅读 · 0 评论 -
laravel分类group by 语句
laravel分类group by 语句: public function index() { $res = TagModel::select(['type']) ->where('user_id', $this->uid()) ->selectRaw('group_concat(name) as names') ->groupBy('type') ->原创 2021-10-21 17:04:34 · 405 阅读 · 0 评论 -
php捕获http异常状态
通常情况下,如果http状态码错误,浏览器是会直接抛出异常的,但是我们有时候需要在程序里面自定义处理,那么就需要捕获这个异常.设置http_errors=false,我们就可以手动处理了.public static function requestUrl($request_params){ $client = new Client(['http_errors' => false]); $res = $client->request($request_params['metho原创 2021-09-09 10:36:31 · 477 阅读 · 0 评论 -
php中json_decode精度丢失问题
有两种比较好的解决方案:1.修改php配置serialize_precision ;2. json_encode的时候设置不丢失精度;第一种增加json_encode设置精度不丢失:第二种方式注释掉;serialize_precision .原创 2021-09-07 18:08:24 · 735 阅读 · 0 评论 -
laravel-admin验证报错不明显排查原因
laravel-admin验证错误只是粗暴的报错,并不清楚具体哪里错了,提交参数一多就很蛋疼.因此一路顺藤摸瓜,找到了不符合条件的地方,在这里可以临时调试一下:D:\WWW\xxx.xxx.com\vendor\laravel\framework\src\Illuminate\Validation\Validator.php...原创 2021-05-08 14:37:28 · 495 阅读 · 0 评论 -
php使用mysql分批大量插入数据
public function testNumbers(){ $number = 11020095; $interval = 500000; $file_name = ' /tmp/table_name_12220095.sql'; for ($i = 1; $i < 100; $i++) { $samll = $number - $interval * $i; if ($samll > 0) { $big原创 2021-02-06 10:55:10 · 548 阅读 · 0 评论 -
easyswoole的websocket获取客户端信息
easyswoole的websocket获取连接信息,端口,fd,ip,错误等等。{"websocket_status":3,"server_port":9502,"server_fd":3,"socket_fd":36,"socket_type":1,"remote_port":56692,"remote_ip":"127.0.0.1","reactor_id":0,"connect_time":1606985399,"last_time":1606986742,"close_errno":0}.原创 2020-12-03 17:14:00 · 954 阅读 · 0 评论 -
匹配双引号中间的内容
正则表达式:(?<=:").*?(?=")空了再解释原创 2020-11-20 17:18:50 · 570 阅读 · 0 评论 -
laravel-admin使用记录
安装启动参考官方文档:官方文档这里主要记录运行时候的几个报错:1.routines:OPENSSL_internal:WRONG_VERSION_NUMBERError: write EPROTO 2038748616:error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER:…/…/third_party/boringssl/src/ssl/tls_record.cc:242:原因是本地开发环境可能没有支持https的方式原创 2020-11-09 17:31:56 · 1198 阅读 · 0 评论 -
linux分割大文件
分割文件并更改文件后缀:split xxx.sql -l 20 -d -a 2 splite_&&ls|grep splite_|xargs -n1 -i{} mv {} {}.sql原创 2020-10-22 09:59:41 · 222 阅读 · 0 评论 -
查找不连续的主键
查找不连续的主键idSELECT a.id+1 AS start, MIN(b.id) - 1 AS end FROM vip_des AS a, vip_des AS b WHERE a.id < b.id and a.id<100000 and b.id<100000 GROUP BY a.id HAVING start < MIN(b.id)相关的脚本: /** * mysqldump批量读入数据 * @aut原创 2020-10-21 18:49:30 · 356 阅读 · 1 评论 -
phpstorm连接跳板机jumpserver
设置里面找到ssh服务,然后选择key pair,选择你在跳板机管理中心下载的密钥文件,点击test connection,就会弹出输入MFA动态验证码的窗口,然后打开你的onelogin填入密码即可:连接成功:原创 2020-09-11 10:32:02 · 1068 阅读 · 0 评论 -
正则匹配引号中间的内容,匹配json的key,替换多维数组的key
正则表达式:(?<=")[a-z_]+(?=":)匹配示例:{"api_token":"1,32|xxx","identity_token":"1,1598333646,xxx,2","user":{"nickname":"scsasdad","avatar":"111111","country_code":null,"telephone":"xxx","email":"","language":"zh","last_login_time":xxx,"status":20,"user_id":原创 2020-08-25 14:10:55 · 912 阅读 · 0 评论 -
easyswoole接收json格式参数
easyswoole接受json格式参数:$this->request()->getBody()->__toString()原创 2020-08-12 15:32:12 · 1141 阅读 · 0 评论 -
php设置监听9000外的端口失败unable to bind listening socket for address ‘127.0.0.1:9003‘: Permission denied
报错信息入如下:-bash-4.2# systemctl status php73-php-fpm.service -l● php73-php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php73-php-fpm.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code原创 2020-08-12 11:22:19 · 7582 阅读 · 0 评论 -
php安装pear包管理工具
windows下面的安装方式:下载好了windows的php包之后解压,获取pear执行文件:wget http://pear.php.net/go-pear.pharphp go-pear.phar官方文档:https://pear.php.net/manual/en/installation.getting.php原创 2020-06-24 10:39:06 · 774 阅读 · 0 评论 -
composer安装指定分支包,开发中的分支
常规安装:composer require package-name:version上面这种方式可以指定包版本,一般和git分支的tag对应;有时候我们想尝试最新分支,测试或者参与开发。那么就要用下面的方式了:composer require overtrue/socialite:dev-developdevelop代表git仓库的开发分支,如果开发分支名字是dev那么就是dev-dev了,注意这里就行了,所以默认安装的是dev-master分支。如果想忽略一些不重要的依赖包,例如包要原创 2020-06-24 10:17:11 · 3396 阅读 · 0 评论 -
centos 7 设置easyswoole开机自启动
vim /usr/lib/systemd/system/easy.service添加以下内容:[Unit]Description=The EasySwoole Process ManagerAfter=syslog.target network.target[Service]User=rootGroup=rootType=forkingExecStart=/usr/bin/php /mnt/share/xxx/easyswoole start dExecReload=/usr/bin原创 2020-06-15 11:08:25 · 912 阅读 · 0 评论 -
easy_swoole安装使用踩坑记录ock fail case Operation not permitted at
我的是win10下面的centos虚拟机,centos系统是7.8.2003的。php版本和swoole下面启动信息里面有展示。安装之前要先单独创建一个目录mkdir easy_sw && cd easy_swcomposer require easyswoole/easyswoole不然搞得你的根目录乱糟糟的。运行启动命令报错php vendor/easyswoole/easyswoole/bin/easyswoole installphp easyswoole start原创 2020-06-04 09:50:27 · 2370 阅读 · 1 评论 -
php命令行查看拓展版本
查看拓展的两种方式:第一种:phpinfo();第二种:命令行 php --ri swoole原创 2020-06-04 09:11:26 · 916 阅读 · 0 评论 -
codeformater报错,不支持each()方法
unable to auto detect encoding for C:\Users\admin\AppData\Roaming\Sublime Text 3\Packages\CodeFormatter\codeformatter\lib\phpbeautifier\phpf.phar, using fallback encoding Western (Windows 1252)Detected ISO-8859-2 vs Western (Windows 1252) with 73% confid.原创 2020-05-26 10:36:15 · 667 阅读 · 0 评论 -
安装mysql8.0最新版lnmp
1.安装mysql8.0官方文档:https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html下载rpmyum localinstall http://mirrors.ustc.edu.cn/mysql-repo/mysql80-community-release-el7-3.noarch.rpm安装rpmyum install mysql-community-server启动mysql服务端servic原创 2020-05-22 10:59:49 · 3501 阅读 · 0 评论 -
PHP中public,private,protected,abstract等关键字的用法
public权限最大,既可以让子类使用,也可以支持实例化之后的调用。protected表示的是受保护的,访问的权限是只有在子类和本类中才可以被访问到。private表示的是私有,只能够是在当前的类中可以被访问到。staticstatic的作用就是能够实现值或者方法在类中不需实例化的情况下调用,同时static修饰的变量具有与值存储的功能,例如我们不使用static运行的结果如下,可以...原创 2020-04-16 11:53:27 · 1378 阅读 · 0 评论 -
laravel使用scout和elasticsearch中文分词ik
安装es和ik:参考链接:https://blog.csdn.net/zhezhebie/article/details/105482149安装composer包:https://github.com/baijunyao/laravel-scout-elasticsearch在scout里面添加配置:'elasticsearch' => [ 'prefix' =&...原创 2020-04-13 16:52:48 · 344 阅读 · 0 评论 -
正则匹配括号
需要匹配的内容: <Macro Name="CVT_EN_JUSTSCAN_AS_FULLSCAN" Value="0"/> <Macro Name="CVT_EN_FULLSCAN_AS_POINTTOPOINT" Value="0"/> <Macro Name="CVT_DEF_HW_VERSION" Value="...原创 2020-01-17 17:34:36 · 3000 阅读 · 0 评论 -
php配置的一些说明
配置可被设定范围 ¶这些模式决定着一个 PHP 的指令在何时何地,是否能够被设定。手册中的每个指令都有其所属的模式。例如有些指令可以在 PHP 脚本中用 ini_set() 来设定,而有些则只能在 php.ini 或 httpd.conf 中。例如 output_buffering 指令是属于 PHP_INI_PERDIR,因而就不能用 ini_set() 来设定。但是 display_err...原创 2019-12-25 17:39:25 · 175 阅读 · 0 评论 -
"Deprecated: Directive 'track_errors' is deprecated in Unknown on line 0" on php 7.4
track_errors boolean如果开启,最后的一个错误将永远存在于变量 $php_errormsg 中。可以在程序中使用 error_get_last — 获取最后发生的错误参考:php文档stackoverflow : https://github.com/composer/composer/issues/7365...原创 2019-12-25 17:32:30 · 2882 阅读 · 0 评论 -
php替换括号里面某些字符串
public function testReplace() { $post_xml_data='asdsa&(123123)'; // dd(preg_replace('/&(?!#?[a-z0-9]+;)/', '&', $post_xml_data)); $subject = 'asdsa&(123123)<Macro N...原创 2020-09-07 10:17:01 · 662 阅读 · 0 评论 -
php快速获取数组维度
function numberOfDimensions(array $array) { $it = new RecursiveIteratorIterator(new RecursiveArrayIterator($array)); $d = 0; foreach ( $it as $v ) $it->getDepth() >= $d and $...原创 2019-11-28 21:05:32 · 859 阅读 · 0 评论 -
cakephp指定模板发送邮件
发送邮件:/** * 通过模板发送邮件 * @Author yangshuiping * @DateTime 2019-11-18T19:43:38+0800 * @param array $data [description] * @return [type] [description...原创 2019-11-18 20:21:42 · 540 阅读 · 0 评论 -
php查看opcode的vld拓展
安装vld拓展,开启ini配置即可。使用:<?php$a = 'hello world!';#注意我这里是故意测试在for里面进行计算长度的,实际生产不要使用这样的代码for ($i = 0; $i < strlen($a); $i++) { echo $i;}php -dvld.active=1 test_vld.php...原创 2019-11-17 11:17:25 · 223 阅读 · 0 评论 -
php缓存opcode
下面讲的是已经到达了php阶段:php程序执行过程:1.没有缓存opcode:1.zend引擎读取php文件,逐行扫描;2.根据其词典和表达式进行解析;3.生成操作码(operate code => opcode);4.执行opcode。2.缓存了opcode:缓存拓展:opcache已经被php本身集成了,php5.5以上只需要开启ini配置即可。...原创 2019-11-17 10:55:02 · 225 阅读 · 0 评论 -
修改sublime默认的补全代码
You can make this even easier by installingPress Ctrl-Shift-P to bring up Package Controltype install hit Enter to bring up Package Control: Install Packagetype PackageResourceViewer hit EnterTo m...原创 2019-10-12 20:22:43 · 1348 阅读 · 0 评论 -
php操作xml文件,xml与array互转
1.SimpleXMLElement简单轻便,读取,追加,查找,保存:•SimpleXMLElement::addAttribute — Adds an attribute to the SimpleXML element•SimpleXMLElement::addChild — Adds a child element to the XML node•SimpleXMLElement::...原创 2019-10-12 14:39:50 · 585 阅读 · 0 评论 -
php中heredoc和nowdoc的用法,少写echo
1.Heredoc 结构:就象是没有使用双引号的双引号字符串,这就是说在 heredoc 结构中单引号不用被转义。其结构中的变量将被替换,但在 heredoc 结构中含有复杂的变量时要格外小心。其对格式化输出内容时,比较有用 。具体其有以下特点:1、开始标记和结束标记使用相同的字符串,通常以大写字母来写。 2、开始标记后不能出现空格或多余的字符。 3、结束标记必须顶头写,不能有缩进和空格,且在结原创 2017-02-07 22:51:01 · 822 阅读 · 0 评论 -
php写一个冒泡排序
<?php $arr=array(1,50,20,21,45,100,400,40,60,80);// 打印初始数组echo "<pre>"; print_r($arr);echo "</pre>";// 外循环多少次for ($i=0; $i < count($arr)-1 ; $i++) { // 小循环多少次 for ($j=0; $j < count($原创 2017-02-07 22:56:21 · 450 阅读 · 0 评论 -
禁用cookie的时候怎么使用session
Session会话中传递SESSIONID有两种方式: 1. 基于cookie传递(常用方式); 2. 基于URL传递;###如果用户的客户端(浏览器)禁止了cookie,那么基于cookie的传递就不能成功,跨页面就无法传递session值了, 这个时候,有以下两种方法继续进行跨页面传递session值(其实就是一种,只是两种不同的形式,都是用URL传递session_id):在要跳转的原创 2017-02-16 12:43:58 · 632 阅读 · 0 评论