php
文章平均质量分 59
最美的语言php
这个作者很懒,什么都没留下…
展开
-
PHP(Laravel)作为客户端调用GRPC
本文章只描述使用php作为客户端调用grpc。官网链接: grpc官网php客户端链接: php-clent-grpc得有个php环境并且安装好grpc扩展,安装 protoc 与 grpc_php_plugin 可执行文件使用protoc 与 grpc_php_plugin 生成客户端代码调用1. php环境并且安装grpc扩展,这里就不赘述了,用pecl,源码安装,大家投其所好。2. 安装 protoc 与 grpc_php_plugin 可执行文件# 下载对应分支(对应版本的)g原创 2022-04-18 11:55:52 · 2181 阅读 · 0 评论 -
docker由于设定固定ip地址,在调试删除容器后再启动可能会出现目标网段已存在的问题
1.删除已有网络docker network ls (查看以创建所有网络)docker network inspect {NETWORK ID} (查看网段是否跟.env设置的网段一直)docker network rm {NETWORK ID} (删除网络)修改network subnet原创 2021-10-24 22:33:20 · 2868 阅读 · 0 评论 -
PHP 延迟静态绑定 static
首先我们定义一个DomainObject 父类abstract class DomainObject{ public static function create() : DomainObject { return new self(); } }在编写两个子类class Shop extends DomainObject{ }class User extends DomainObject{ }调用:User::create原创 2021-07-20 23:16:15 · 313 阅读 · 5 评论 -
PHP trait 的理解和使用
traittrait 是类似于类的结构,它本身不能被实例化,但合一混合到类中。trait中定义的任何方法都可以被使用它的类所使用。trait可以改变类的结构,但无法更改其类型。我们可以将trait视为包含到类中的部分。定义和使用trait这里的例子主要作用是去除重复代码//计算费率trait priceUtilitiesTrait{ private $taxRate = 10; public function calculateTax(float $price) : flo原创 2021-07-13 00:15:48 · 758 阅读 · 2 评论 -
php-fpm fastcgi 工作原理以及优缺点
什么是 CGI?CGI 全称是 “公共网关接口”(Common Gateway Interface),HTTP 服务器与你的或其它机器上的程序进行 “交谈” 的一种工具,其程序须运行在网络服务器上.CGI 可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如 php,perl,tcl 等.之前我看见一篇文章里面对CGI解释的非常清楚,CGI 是为了保证 web server 传递过来额数据是标准的,方便 CGI 程序的编写者。再解释的通俗点就是 CGI 是一个协议,具有无语言..原创 2021-01-21 11:14:09 · 618 阅读 · 0 评论 -
composer 配置国内镜像源
作为php开发时常会使用conposer下载安装包,一般情况下,安装包的数据是从github上下载的,安装包的元数据是从packagist.org上下载的,国外的网站也就那样了,随时被‘墙’,不会科学上网就只能配置国内镜像源了,这里我们使用aliyun的,以下是全局配置的:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/去掉-g参数就是针对当前项目配置。当然也可以直接在.compose原创 2020-10-27 16:48:28 · 1330 阅读 · 0 评论 -
PHP 四大排序 思路及代码
$arr = [23,43,1,2,41,567,32,11];//冒泡排序//思路:比较数组相邻的两个元素,把小的放在前面,以此类推遍历完所有元素function bubble_sort($arr){ $count = count($arr); if($count<1) return $arr; for($i=0;$i<$count;$i++){ for($j=$i+1;$j<$count;$j++){ if(.原创 2020-10-19 15:33:28 · 120 阅读 · 0 评论 -
PHP Warning: require(): open_basedir restriction in effect
Laravel框架:PHP Warning: require(): open_basedir restriction in effect(nginx日志报的错)具体保存信息如下:保错原因是:前几天测试windows的子系统ubuntu环境(lnmp一键安装,为了方便安心省事,哈哈哈)安装好准备跑一下项目,Laravel框架写的一个视频网站,报500错误。根据报错信息我们可以很明确的知道这是php open_basedir 配置的问题,PHP不能引入其授权目录上级及其以上的文件;这个问题绝大部分是服.原创 2020-09-22 15:15:59 · 1202 阅读 · 0 评论 -
composer 报错 : PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted
composer 安装laravel扩展时报PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) .原因是php默认的内存限制为128M,解决办法就是,打开php.ini,搜索memory_limit将其设置大一点,256M?1024M?2048M?-1(代表不限制),可以跟根据自己的服务器配置来选择,然后重启php-fpm,ok。...原创 2020-09-14 10:31:44 · 2715 阅读 · 0 评论 -
Laravel 安装扩展 publish失败(pbmedia/laravel-ffmpeg)
因为在做视频转码业务,选择ffmpeg扩展,laravel版本是5.8,php版本7.3,然后就到https://packagist.org/上去找然后直接选择laravel版的ffmpeg,经筛选只有4.0版本支持laravel5.8然后跟着文档安装配置:这里注意加上版本如composer require pbmedia/laravel-ffmpeg:4.0.0安装看上去很简单:composer require -> app.php 加上ServiceProviders原创 2020-09-09 17:24:42 · 441 阅读 · 0 评论 -
微信接口签名及调用流程详解
在调用微信接口的时候无论是支付还是现金红包等等接口都会用到接口的加密和校验,微信的很多数据签名和调用规则其实都是一样的,首先构建原始数据,然后根据规则去除空值和签名方式(如果与的话),接下来案子点排序后转换为URL格式的字符串,拼接上加密的key,然后生成签名。接下来就是按照规则调用接口了,这里先说一下加密调用的流程,还是看流程图更直观一点。下面给出微信签名算法的PHP代码:class ...原创 2018-09-27 18:51:05 · 2340 阅读 · 0 评论 -
基于PHP的CURL的RESTful风格实现POST字符串或文件上传
目前不管是移动端的API还是调用众多服务商(微信、微博、银行等)的接口大多数都是基于RESTful风格。下面就介绍如何使用PHP基于RESTful风格上传文件或POST字符串。上传文件代码示例:$url = '提交地址';//$postfields = file_get_contents('文件路径或者文件名'); $ch = curl_init();$params[CURLOPT...原创 2018-09-27 18:50:15 · 419 阅读 · 0 评论 -
PHP数组和XML相互转换的函数
//数组转xmlfunction ArrToXml($arr){ if(!is_array($arr) || count($arr) == 0) return ''; $xml = "<xml>"; foreach ($arr as $key=>$val) { if (is_numeric($val)){ $xml.="<".$key.">...原创 2018-09-27 18:41:56 · 209 阅读 · 0 评论 -
CURL错误码表
在使用PHP调试CURL程序是如果报错,下面是CURL错误码对应的原因说明,如果遇到程序错误可以参考此错误码表。状态码 状态原因 解释 0 正常访问 1 错误的协议 未支持的协议。此版cURL 不支持这一协议。 2 初始化代码失败 初始化失败。 3 URL格式不正确 URL 格式错误。语法不正确。 4 请...原创 2018-09-20 09:44:46 · 1228 阅读 · 0 评论 -
JS设置和读取COOKIE
我们知道COOKIE保存在客户端,但是我们在设置和读取COOKIE的时候几乎无论使用什么语言编程都是在服务器端操作的,原理是通过HTTP的header传输信息。其实客户端的脚本语言JavaScript也是可以操作COOKIE的,默认情况下服务器端设置的COOKIE数据也是可以操作的,下面给出封装好的函数。 /*设置cookie*/ function setC...原创 2018-09-19 15:23:30 · 328 阅读 · 0 评论