php
大肚晓东
学无止境
展开
-
php类的属性有小数点处理方法
最近在做php操作ArangoDB的时候,由于ArangoDB数据字段命名有小数点比如(photo.p)映射成php.类属性就有photo.p这个值。但是如何获取类实例中的’photo.p‘这个属性值呢执行 $a->photo.p 从语法上就不对。按理来说php的变量名不允许有特殊符号存在,下面代码执行肯定会报错的。但是通过公共方法 对类的属性赋值取可以实现。原创 2023-01-10 17:28:14 · 144 阅读 · 0 评论 -
php-alpine 安装rdkafka扩展
php-alpine 安装扩展下载基础镜像安装依赖Pecl编译安装尝试使用pecl安装rdkafka编译安装下载基础镜像docker pull hyperf/hyperf:8.1-alpine-v3.15-base安装依赖apk add --no-cache libpng-dev freetype-dev libjpeg-turbo-dev libwebp-dev libxpm-dev \ zlib-dev \原创 2022-04-27 18:01:07 · 805 阅读 · 0 评论 -
PHP7.4 arm环境编译安装报错 invalid ‘asm’: invalid operand prefix ‘%c’
In file included from /usr/local/php7/src/php-7.4.22/Zend/zend.h:356:0, from /usr/local/php7/src/php-7.4.22/main/php.h:33, from /usr/local/php7/src/php-7.4.22/ext/standard/array.c:24:/usr/local/php7/src/php-7.4.22/ext/sta原创 2022-01-05 15:51:51 · 1167 阅读 · 0 评论 -
php7.4中让gd库支持jpeg格式
php7.4中让gd库支持jpeg格式进入php7.4扩展目录 一般是php源码目录/ext/gd#./configure -h 看下编译选项# cd /lnmp/php-7.3.12/ext/gd/# /usr/local/php/bin/phpize # ./configure --with-jpeg --with-php-config=/usr/local/php/bin/php-config# make && make install...原创 2021-07-13 20:37:15 · 1133 阅读 · 4 评论 -
php 压缩文件
<?php$zip = new ZipArchive();$filename = "/tmp/test112.zip";if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) { exit("cannot open <$filename>\n");}$basePath='/tmp/test';if ($dh = opendir($basePath)){ while (($file = readdir(.原创 2021-06-24 11:40:37 · 264 阅读 · 2 评论 -
人人商城根据路由定位文件
最近做人人商城二开比较多,记录下如何根据url快速定位php 文件找到路由文件 addons\ewei_shopv2\core\model\route.php 大概200行左右 调试下即可原创 2021-04-27 14:47:09 · 350 阅读 · 0 评论 -
解决 laravels 无法接收微信回调的参数问题
laravels 无法通过file_get_contents('php://input') 接收到请求处理方式 $data=request()->getContent();原创 2021-01-05 16:01:56 · 501 阅读 · 0 评论 -
PHP使用RSA进行加密解密方法 解决密文越过1024
/** * RSA算法类 * 签名及密文编码:base64字符串/十六进制字符串/二进制字符串流 * 填充方式: PKCS1Padding(加解密)/NOPadding(解密) * * Notice:Only accepts a single block. Block size is equal to the RSA key size! * 如密钥长度为1024 bit,则加密时数据需小于128字节,加上PKCS1Padding本身的11字节信息,所以明文需小于117字节,支持分段加密 *.原创 2020-06-22 10:48:59 · 614 阅读 · 0 评论 -
php生成海报.解决抓取微信头像速度慢的问题
<?php /** * 分享图片生成 * @param $gData 商品数据,array * @param $codeName 二维码图片 * @param $fileName string 保存文件名,默认空则直接输入图片 */function createSharePng($gData,$codeName,$fileName = ''){ $im = ...原创 2020-03-31 15:56:51 · 1068 阅读 · 0 评论 -
没想到Laravel-S能提升这么高性能
最近公司接了一个基于laravel二开项目,客户对于高并发要求比较高,传统的部署laravel项目测试发现已经达到瓶颈,后来发现Laravel-S可以快速集成Swoole到Laravel或Lumen,然后赋予它们更好的性能于是就试了下,没想到结果大大出乎我的意料,性能大幅度提升,客户也很满意。下面说下具体流程:1.引入依赖composerrequirehhxsv5/la...原创 2020-03-31 13:07:10 · 1865 阅读 · 0 评论 -
SGII PHP 加密工具
下载地址:https://www.sourceguardian.com/downloads/windows/11.2/SourceGuardian-11.2-Evaluation.exe这款软件是采用QT编写的一个PHP加密软件,安装后会在安装目录生成一个Loaders文件夹。里面存放的是各个系统,以及对应的各个PHP版本的插件。软件结构:1、加密端2、...原创 2020-01-09 10:43:00 · 2583 阅读 · 0 评论 -
解决php接受ajax传来的json,json_decode为null
PHP接收POST过来的JSON格式数据,内含html实体,无法解析解决方案:echo json_decode(htmlspecialchars_decode($_POST['data']));原创 2019-07-01 08:57:16 · 869 阅读 · 0 评论 -
thinkphp5 递归查询所有子代,查询上级,并且获取层级
function get_childs( $parent_id = array(), $level = 0 ){ static $id_arr = array(); $id_arr= Db::name('users')->where('parent_id','in',$parent_id)->column('id'); //限制3级 ...原创 2019-07-13 13:31:29 · 3897 阅读 · 0 评论 -
thinkphp5 微信支付微信提现开箱即用
<?phpnamespace app\phpapi\controller;use app\common\controller\Api;use think\Db;/** * 微信app支付接口 */class Wxpay extends Api{ private $config; private $token_info; public func...原创 2019-06-21 09:05:38 · 1224 阅读 · 0 评论 -
woocommerce 开启用户注册功能
最近在帮朋友开发外贸网站,基于wordpress的woocommerce插件,需要开启用户注册功能,发现只要修改下配置即可,首先登录你的Wordpress管理员帐号,并进入管理后台,点击左侧菜单栏的“设置”--“常规”在打开的设置页面,下方找到“允许任何人注册”,前方勾选,下面有一个当用户注册默认的角色,不同的角色对应不同的后台权限,我们根据自己的需要选择,设置完毕后,点击“确定”保存...原创 2019-03-14 09:41:03 · 4711 阅读 · 0 评论 -
解决lnmp环境下部署fastadmin无法写入配置文件application/database.php
利用lnmp vhost add 增加虚拟主机,直接下载fastadmin源码到目录,然后通过http://域名/install.php安装,结果提示“当前权限不足,……”;解决方案:经排查是open_basedir问题查看/usr/local/nginx/conf/fastcgi.conf默认是把网站跟目录写到了 open_basedirNginx需要修改ngin...原创 2019-02-13 15:15:15 · 3600 阅读 · 0 评论 -
lnmp 安装swoole扩展 方法
在lnmp 环境下用 pecl install swoole 安装swoole,运行php出现警告NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library 'swoole.so' (tried: /usr/local/php/lib/php/extensions/no-debug-non-zts...原创 2019-02-16 12:55:40 · 1990 阅读 · 0 评论 -
Linux下编译安装PHP7.3.1
【准备工作】所有操作需要在root用户下本机测试案例系统信息:centos7.4安装路径:/usr/local/php 【安装PHP】先安装如下依赖包$ yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-de...转载 2019-01-15 17:39:55 · 4538 阅读 · 0 评论 -
wordpress woocommerce 主题storecommerce 整合 Sample Slider
首先安装storecommerce主题 修改wp\wp-content\themes\storecommerce\inc\blocks\block-slider-page.php<?php if ($all_posts->have_posts()): ?> <?php echo do_shortcode(...原创 2019-01-15 10:47:54 · 411 阅读 · 0 评论 -
wordpress二次开发
1.修改默认满屏:wordpress\wp-content\themes\shop-isle\assets\js\custom.js line:107 2 语言切换:wordpress\wp-content\languages\themes\shop-isle-zh_CN.poordpress里有.po 和.mo文件,是用于对wordpress进行语言翻译的文件至于编辑工具,由于...原创 2019-01-14 08:54:51 · 1915 阅读 · 0 评论 -
PHP压缩类:用于在线压缩文件、文档、目录等,附有使用方法,不想了解类原理的可直接按使用方法调用该类
001002//PHP压缩类代码开始003class PHPZip{004function Zip($dir, $zipfilename)005{006转载 2016-11-28 10:35:08 · 598 阅读 · 0 评论 -
ecshop小京东后台首次上传商品不能上传相册的解决办法
ecshop小京东后台首次上传商品时候,当你切换到商品相册时,会提示错误,编辑的时候才会正常上传商品的相册;关于这个问题,这里提供一个较为简单的方法。首先看一下关于上传商品相册的相关代码文件:在网站后台目录/attr_img_upload.php一看就能明白,在首次上传商品的时候,goods_id 是没有被赋值的,因此就会echo '错误操作!请添加商品基本信息后,再添加图片';原创 2016-11-22 14:52:09 · 3996 阅读 · 1 评论 -
nginx apache 配置反向代理服务器
nginx 由于其高效的并发处理能力,而开始被越来越多的人接受和认可,现在很多网站使用lnmpa架构,用nginx做反向代理和负载均衡非常简单,支持两个用法 1个proxy, 1个upstream,分别用来做反向代理,和负载均衡。nginx不自己处理php的相关请求,而是把php的相关请求转发给apache来处理.反向代理后端如果有多台apache服务器,自然可形成负载均衡,但pr原创 2016-10-25 09:39:00 · 3387 阅读 · 0 评论 -
php 桥接模式案例
<?php//实现站内、eamil都能发送普通信息和紧急信息//抽象类,定义信息abstract class info{ protected $send=null; public function __construct($send){ $this->send=$send; } abstract public func原创 2016-10-12 17:47:57 · 467 阅读 · 0 评论 -
Linux下php安装memcache扩展
安装环境:CentOS 6.4 php扩展memcache的作用是为了支持memcached数据库缓存服务器,下面是安装方法。 1、下载下载地址:http://pecl.php.net/package/memcache文件名:memcache-3.0.8.tgz文件下载成功后上传至/usr/local目录 2、安装[root@vm15 local]# ta转载 2016-10-12 14:30:56 · 274 阅读 · 0 评论 -
PHP定时执行任务 crontab
PHP定时执行任务两种方式:一、Linux 服务器Linux原生支持crontab,所以可以利用这一功能做定时任务步骤:1、编辑crontab文件:Linux:crontab -e2、输入代码:0 0 * * 6 /etc/init.d/httpd restart && /etc/init.d/mysqld restart原创 2016-08-23 14:24:55 · 588 阅读 · 0 评论 -
常见网站系统后台配置smtp发送邮件
常见网站系统后台配置smtp发送邮件现在大多数系统都有邮件发送功能,但有很多用户不会配置导致程序邮件相关的功能不能正常工作。由于主机不支持mail函数,网站要使用邮件发送功能就需要调用外部的smtp,同时邮箱自身也要开启smtp/pop功能才可以正常调用。常见第三方smtp如下:腾讯QQ邮箱(推荐):smtp.qq.com smtp/pop3开启:http://service.mai转载 2016-03-23 14:20:44 · 4532 阅读 · 0 评论 -
php 利用curl_multi_int 批量下载图片
class curl_multi{ private $url_list=array(); private $curl_setopt=array( 'CURLOPT_RETURNTRANSFER' => 1,//结果返回给变量 'CURLOPT_HEADER' => 0,//是否需要返回HTTP头 'CURLOPT_NOBODY' => 0,//是否需要返回的内容原创 2017-06-05 10:16:21 · 1387 阅读 · 0 评论 -
通用无限分类的方法
function genTree($items,$id='review_id',$pid='reviewed_id',$son = 'reply'){ $tree = array(); //格式化的树 $tmpMap = array(); //临时扁平数据 //dump($items);exit(); foreach ($items as $item) {原创 2017-07-22 19:43:44 · 409 阅读 · 0 评论 -
解决wordpress5.0.3版本本地开发访问慢的原因
我用的是wordpress5.0.3版本用phpstudy搭建wordpress时候,运行起来很慢,原因是wordpress\wp-includes\script-loader.php 文件中引入了Google API,需要替换成GoogleAPI (ajax,fonts等)国内版,我采用用的是中科大的镜像,参考https://servers.ustclug.org/2014/07/ust...原创 2019-01-12 10:00:25 · 1777 阅读 · 0 评论 -
PHP实现二维数组group 分组的方法
/** * [array_group_by ph] * @param [type] $arr [二维数组] * @param [type] $key [键名] * @return [type] [新的二维数组] */function array_group_by($arr, $key){ $grouped = array(); foreach ($arr...转载 2018-12-28 14:33:33 · 7001 阅读 · 0 评论 -
php 微信公众号文章采集
<?php/** * author: wangxd * 微信公众号文章采集类 */class DownWxArticle { private $mpwxurl = 'http://mp.weixin.qq.com'; private $wxgzherr= '公众号二维码下载失败=>'; private $wximgerr= '图片下载失败...原创 2018-12-20 13:52:57 · 1393 阅读 · 0 评论 -
做php外包常用的框架
小程序商城(支持可拖拽): fashop: https://www.fashop.cn/ 后台采用Swoole -> EasySwoole框架作为服务接口开发,支持高并发的场景。后台的ui采用react 开发,后台前端改起来比较麻烦,小程序项目地址:https://github.com/mojisrc/wechat-mini-shop 萤火小程序商城系统: ...原创 2020-03-14 13:20:40 · 1189 阅读 · 0 评论 -
mysql、 php 根据经纬度计算距离
mysql 有个RADIANS 函数 等价于 php里面的deg2rad 函数php:if (!function_exists('get_distance')) { //from ='39.983171,116.308479' function get_distance($from,$to) { $from_arr=explode(',', ...原创 2018-09-07 17:38:05 · 762 阅读 · 0 评论 -
ThinkPHP5框架where如何实现or查询
ThinkPHP5框架where 内部实现 精选or 条件拼接,一直没有找到合适的方法,不像tp3版本可以使用采用以下方法:$map['user_id'] = 1;$map['status'] = 0;$or_map['user_id'] = 1;$or_map['audit']=['in',['1,2']];$where_main['_complex'] = array( ...原创 2018-09-04 14:56:22 · 11683 阅读 · 0 评论 -
php怎么样提前响应,后续代码在后台继续运行,但是阻塞模式
//PHP 中如何 在客户端触发,然后在服务器端执行一个函数,页面关闭也继续执行。要先返回用户请求不要等待时。 ob_end_clean();#清除之前的缓冲内容,这是必需的,如果之前的缓存不为空的话,里面可能有http头或者其它内容,导致后面的内容不能及时的输出 header("Connection: close");//告诉浏览器,连接关闭了,这样浏览器就不用等待服务器的响应转载 2017-11-08 15:53:51 · 3150 阅读 · 0 评论 -
php 无限极分类实现
<?phpheader("Content-Type:text/html;charset=utf-8"); echo "<pre>";$area = array(array('id'=>1,'area'=>'北京','pid'=>0),array('id'=>2,'area'=>'广西','pid'=>0),array('id'=>3,'area'=>'广东','pid'=>0),arra原创 2015-09-01 08:58:56 · 492 阅读 · 0 评论