php
wuzuyu365
这个作者很懒,什么都没留下…
展开
-
php生成element ui 的 el-cascader 级联选择器需要的级联数组
php生成element ui 的 el-cascader 级联选择器需要的级联数组原创 2022-07-18 13:56:54 · 461 阅读 · 0 评论 -
php数组转换为树
php数组转换为树。原创 2022-07-16 22:04:18 · 435 阅读 · 0 评论 -
一个内存耗尽问题的排查
起因是一个里面装了sqlserver的docker经常挂,用top命令看,sqlserver内存经常占用超过几十,而CPU甚至超过100%(其实问题不大,因为是8核CPU,最多800%)用htop命令查出内存耗尽,32G的内存,只剩下几百M起初以为是elasticsearch占用了20G内存,后来发现不是查到php-fpm有800个进程,就是这个东西把内存占用了20多G,接下来就killall php-fpm然后修改php-fpm的配置文件pm.max_children = 50原创 2022-05-23 23:32:42 · 341 阅读 · 0 评论 -
一个tp3.2奇怪的数据保存不完整的问题的解决
一个tp3.2奇怪的数据保存不完整的问题的解决保存数据130多行,只保存了60多行进去,仔细排查,发现是有个图片路径的字段的问题, 有些图片路径是带90端口的,例如 http://www.x.com:90/a1.jpg,就报存不进去,看日志,发现sql变成这样了insert into t(...img_url,...) values (...,'http://www.x.com:'0'0/a1.jpg' ...)这都不是一个正确的字符串了,90到哪儿去了?...原创 2021-04-25 22:01:24 · 321 阅读 · 0 评论 -
php低内存导出mysql数据
$sql = 'select * from tpshop.tp_goods';$pdo = new \PDO('mysql:host=127.0.0.1;dbname=tpshop', 'dbuser', 'dbpwd');$pdo->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);$rows = $pdo->query($sql);$filename = date('Ymd') . '.csv'; //设置文件名...原创 2020-10-20 15:56:43 · 142 阅读 · 0 评论 -
apache php 无法读取网络邻居共享文件的处理,提权
windows读取共享文件可以,但php读写就不行,甚至是“拒绝访问”,比如执行语句file_get_contents('\\\\192.168.100.111\temp\goods.txt');其原因可能是apache的用户身份,在服务里面,找到apache,右键【属性】->登录,默认的本地系统账户,我们把它改为超级管理员然后再读取共享文件,就可以了...原创 2020-08-26 12:58:55 · 520 阅读 · 0 评论 -
php正则表达式去掉sql里面的order by
在sqlserver里面,例如这样的语句会报错:select count(1) from ( select * from aaa order by productid ) 除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。正则表达式去掉sql里面的order by$sql = "select * from (select * from t_x Order by ( id) Asc ,.原创 2020-07-31 13:53:57 · 506 阅读 · 0 评论 -
Windows编译php7.3.4
准备工作https://github.com/Microsoft/...下载PHP-SDK(在右边的“clone or download”点击,选择下方的“download zip”); 下载PHP7.3.4的源码,https://github.com/php/php-src/tree/PHP-7.3.4 选择“visual studio community 2019”,安装过程中选择C++功能。编译新建编译目录,例如“D:\PHP2Compile”; 将"php-sdk-binar...原创 2020-07-02 14:52:57 · 1112 阅读 · 0 评论 -
php代码建议规范
代码规范代码尽量的短是指在横向上的短,例如 减少大括号嵌套层数,一般不要超过3层合理使用continue,break,尽早退出循环例如:for(i = 0; i < 100; i++){if(0 == i % 2){continue;}t_sum += i;}减少函数调用嵌套函数的参数尽量简单,不要在参数里面做复杂的取值、比较能抽取出来形成一个变量的,就形成一个变量不好的例子(1):ge...原创 2020-06-28 11:56:16 · 377 阅读 · 0 评论 -
给php开发扩展
php是基于zend的,zend里面有很多宏,这是好事也是坏事,好处是可以做很多事,好处是太多了,难学。另外一个开发php扩展的方式是phpcpp网站:http://www.php-cpp.com/文档:https://github.com/huxiaoxu2019/PHP-CPP-documentation...原创 2020-06-26 18:56:21 · 223 阅读 · 0 评论 -
PHP str_split 带中文字符串
比如把这个句子拆分成单个字符:$str = "开水d房abc";用str_split就不行,要用正则<?php/*** @version $Id: str_split.php * @package utf8* @subpackage strings*/function utf8_str_split($str, $split_len = 1){ if (!preg_match('/^[0-9]+$/', $split_len) || $split_len &l...原创 2020-06-24 17:20:40 · 1164 阅读 · 0 评论 -
ThinkPHP 调用sqlserver存储过程获取最大id
存储过程脚本USE [YourDB]GO/****** Object: StoredProcedure [dbo].[UP_BillID] Script Date: 2020-06-21 21:30:18 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE [dbo].[UP_BillID] -- 易宝单据最大值自动获取与更新用法 @UpTableName VARCHAR(30), --...原创 2020-06-21 21:46:04 · 554 阅读 · 0 评论 -
Tp3.2运行composer安装一个rtf转html的库
首先安装composer, 然后在在项目根目录下写一个composer.json { "require": { "php": ">=5.3.0" }} 在项目根目录下运行 composer require henck/rtf-to-html 在根目录下出现了下载的henck的包: ...原创 2020-05-28 20:51:53 · 386 阅读 · 0 评论 -
php isset 数组 键的一个坑
有个数组$arr,$arr['key'] = 5; isset($arr['key'])是true如果$arr['key'] = 0; isset($arr['key'])也是true如果$arr['key'] = null; isset($arr['key'])就是false了应该用array_key_exist('key', $arr)来判断...原创 2020-05-08 19:16:55 · 704 阅读 · 0 评论 -
前后端分离token传输接收
let t_params = {'name':'tom'}; let t_data ='data='+ JSON.stringify(t_params); $.ajax({ headers: { "token":"wzytoken"//此处放置请求到的用户token }...原创 2020-05-08 10:03:53 · 2607 阅读 · 0 评论 -
SOAP的参数必须严格按照定义的顺序赋值
好不容易调通了php的soap接口,一调用就出现奇怪的问题try { $url = 'http://xxx.xxx.xxx.xxx/cgi-bin/fglccgi/ws/r/aws_plm?WSDL'; $fun_name = 'xxxx.aws_gl_confirm'; $t_data = [ 'dbs' => ...原创 2019-12-16 21:42:05 · 610 阅读 · 0 评论 -
ubuntu16.04 升级php7.0到php7.3 及连接远程sqlserver数据库
要在ubuntu的php上连接远程windows上的sqlserver数据库,php版本7.0不行,需要升级。1.安装php7.3$ sudo apt-get install software-properties-common$ sudo add-apt-repository ppa:ondrej/php$ sudo apt-get update$ sudo apt-g...原创 2019-10-11 22:13:32 · 2328 阅读 · 1 评论 -
PHPExcel怎样把单元格改为文本格式
Excel导出时,如果是一个很长的数字,Excel可能会把它用科学记数法表示,有时候会把值改错,这时就需要把单元格的格式改为文本,字符串:$objPHPExcel->getActiveSheet()->setCellValueExplicit('D1',123456789033,PHPExcel_Cell_DataType::TYPE_STRING);...原创 2019-01-25 14:30:06 · 9146 阅读 · 1 评论 -
sphinx setGroupBy统计归类无结果的可能原因
例如以cat_id进行group $sphinx->setGroupBy('cat_id', SPH_GROUPBY_ATTR); $cat_group = $sphinx->query($sphinx_keyword, '*');结果为空,打印出错误看看:$err = $sphinx->getLastError();print_r($err);...原创 2019-04-17 14:03:05 · 426 阅读 · 0 评论 -
sphinx 中缀索引配置,实现类似like的搜索
这一段时间来一直在跟sphinx打交道,其间或多或少遇到一些问题,其中让我费时最多的莫过于模糊搜索。用sphinx做中文搜索时,大多会使用到mmseg做为分词工具,如’白下区KTV’分解成’白下区’ , ‘KTV’两个词。一般只要词库里有的词都能高效的从索引里搜索到,但如果搜索’白下KTV’会被分解成’白’ , ‘下’ , ‘KTV’三个词,而词库中并没有前两个,类似的情况很多,想要短时间...转载 2019-04-12 14:53:52 · 400 阅读 · 0 评论 -
zipArchive not found
PhpExcel 在Ubuntu上导入excel文件,报错:[1] ErrorException in Excel2007.php line 351Uncaught Error: Class 'ZipArchive' not found in /var/www/chenxin/vendor/PHPExcel/PHPExcel/Reader/Excel2007.php:351Stac...原创 2019-04-01 19:59:34 · 2237 阅读 · 0 评论 -
sphinx-for-chinese linux安装
一.安装及配置Sphinx及准备测试数据1.安装前的准备工作(1)请确认安装了MySQL,Gcc及常用的开发环境包(2)下载sphinx-for-chinese-1.10.1(sphinx-for-chinese官方下载)及中文分词词典xdict_1.1cd /usr/local/srcwget -c http://sphinx-for-chinese.googlecode.c...转载 2019-03-19 10:46:41 · 666 阅读 · 1 评论 -
如果一个php页面关掉了,它还能执行吗?
打开一个php页面,如果这个php页面里面执行for循环插入数据,或死循环插入数据,在关掉页面后,它仍然会执行原创 2019-03-16 15:38:48 · 992 阅读 · 0 评论 -
php支持gzip的curl
<?php namespace Home\Service;class CurlService{ /** * 模拟post提交json数据,支持gzip编码的服务器 * * @param $url :网址 * @param $post_data :post数据 * @para...原创 2018-12-08 08:36:29 · 1475 阅读 · 0 评论 -
一个TP5里面 new SphinxClient()失败的bug修复
如下,<?php /** * 商品搜索列表页 */ public function search() { $root = $_SERVER['DOCUMENT_ROOT']; $p = "{$root}/plugins/coreseek/sphinxapi.php"; include...原创 2019-03-19 17:23:32 · 679 阅读 · 0 评论 -
tp的getField()真好
经常需要做那种取出一行,然后用id做key的数组比如region表:tp里面已经有这个功能: $rg = M('region')->cache(true)->getField('id,name'); 结果:Array( [1] => 北京市 [2] => 市辖区 [3] => 东城区 [4...原创 2019-03-02 14:47:24 · 600 阅读 · 0 评论 -
php windows下安装composer
https://getcomposer.org/download/下载Composer-Setup.exe安装把php.exe所在目录加入环境变量命令行运行 composer:原创 2019-02-28 09:54:34 · 178 阅读 · 0 评论 -
session_start(): Failed to initialize storage module
不知道啥原因,重启服务器,就好了;还不行,就清空浏览器缓存。原创 2019-01-21 10:31:18 · 977 阅读 · 0 评论 -
Thinkphp 出现 CACHE_WRITE_ERROR 错误的可能解决办法
起初以为是文件夹没有写的权限,结果不是,连phpmyadmin也没法进入,重启apache2没用,后来发现是报错日志太多,磁盘占满了。用命令 du -sh * 查找大的文件夹,删掉废文件,就ok了...原创 2019-04-15 10:06:16 · 1477 阅读 · 0 评论 -
php Fatal error: Cannot redeclare sphPackI64() (previously declared
Fatal error: Cannot redeclare sphPackI64() (previously declared in D:\php_projects\chenxin\vendor\sphinx\sphinxapi.php:126) inD:\php_projects\chenxin\vendor\sphinx\sphinxapi.phpon line168...原创 2019-04-23 22:29:15 · 1210 阅读 · 0 评论 -
php检测是否移动设备浏览器
function is_mobile_browser(){ $regex_match="/(nokia|iphone|ipad|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|"; $regex_match.="htc|dopod|blazer|netfront|helio|hosin|h转载 2014-11-21 17:12:56 · 1080 阅读 · 0 评论 -
登录页空白的折腾
用的框架是TP3.2部署到线上,登录页是空白,一直跟踪到底层,才发现,原来是缓存目录不可写原创 2019-09-23 17:48:44 · 205 阅读 · 0 评论 -
php爬虫出现403 Forbidden问题的解决
php curl抓取一个网站数据时,出现HTTP/1.1 403 Forbidden Server: nginx Date: Mon, 16 Sep 2019 15:02:21 GMT Content-Type: text/html Content-Length: 146 Connection: keep-alive403 Forbidden按照网上的教程,下载了wires...原创 2019-09-16 23:05:05 · 1937 阅读 · 0 评论 -
php 特殊空格的处理
通常的空格ascii码值是32, 还有一种空格是194,160的,这种是页面上的 空格转化为utf8编码后来的$keyword = 'RC0402FR-071ML400pcs'; echo '<pre>'.$keyword.'<br>';$arr_kwd = str_split($keyword);foreach ($arr_kwd a...原创 2019-08-14 14:44:58 · 2818 阅读 · 0 评论 -
mysql unsigned int 减到负值报错
Uncaught think\exception\PDOException: SQLSTATE[22003]: Numeric value out of range: 1690 BIGINT UNSIGNED value is out of range in '(`tpshop`.`tp_goods`.`store_count` - 5)'可能改为int比较好...原创 2019-06-19 11:12:50 · 1243 阅读 · 0 评论 -
php中 curl模拟post发送json并接收json(转)
本地模拟请求服务器数据,请求数据格式为json,服务器返回数据也是json. 由于需求特殊性, 如同步客户端的批量数据至云端, 提交至服务器的数据可能是多维数组数据了. 这时需要将此数据以一定的数据编码方式(json格式)来组织并提交.以便服务器很好地处理.客户端curl模拟提交代码.客户端curl模拟提交代码.functionhttp($url,$data= NULL,$js...转载 2019-05-17 11:51:41 · 16441 阅读 · 0 评论 -
thinkphp3.2 表名大写问题
thinkphp3.2 连sqlserver数据库,有个表名是BillFormat,结果报错::(208:[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]对象名 'bill_format' 无效。 [ SQL语句 ] : SELECT T1.* FROM (SELECT thinkphp.*, ROW_NUMBER() OVER...原创 2019-05-14 17:40:01 · 656 阅读 · 0 评论 -
TP连mysql数据库要1秒多的bug修复
配置本地开发环境的时候,发现代码莫名的变慢,调式发现是数据库查询的问题,一个查询语句差不多要1-2秒。第一感觉不应该啊,难道是新配置环境的问题吗?没办法只能调试代码。发现thinkphp里面连接数据库用的是pdo,发现New PDO()的时间差不都是1-2秒。最后发现 配置文件里面的数据库是localhost,改为127.0.0.1之后正常了.所以数据库这些的配置文件信息还是使用IP吧,使...转载 2019-05-06 18:01:21 · 360 阅读 · 0 评论 -
PHP基于字典的中英文数字混合分词算法RMM简易实现
<?phpclass Seg{ //字典 private $dict = []; //加载字典 function set_dict($vDict){ //词典大写,方便比对 foreach ($vDict as $i=>$v){ $vDict[$i]= strtoupper($...原创 2019-04-28 22:13:30 · 999 阅读 · 0 评论 -
Sphinx支持搜索某些特殊字符
https://blog.csdn.net/chamtianjiao/article/details/9767155转载 2019-04-23 23:26:46 · 661 阅读 · 0 评论