随笔分类 -  php

1 2 3 4 下一页

php7.4.x~php8.0.x 新特性
摘要:→ PHP在线运行代码 PHP 核心中的新特性 命名参数 新增 命名参数 的功能。 // array_fill(int $start_index, int $count, mixed $value): array // 使用顺序传递参数: array_fill(0, 100, 50); // 使用命 阅读全文

posted @ 2024-12-05 17:56 ercom 阅读(210) 评论(0) 推荐(0)

在线运行代码的 PHP 沙盒环境实现
摘要:演示: 多版本PHP运行代码 作用: 方便作为独立的调试环境运行 一些 临时逻辑,查看执行结果。 方便比较不同版本的 PHP 执行差异,进行一般的兼容性测试。 思路: Docker镜像构建多个PHP运行端口,使用 php 命令行来运行 PHP 脚本,借助 PHP 接口执行输入。 操作: 1. 编写 阅读全文

posted @ 2023-11-02 14:05 ercom 阅读(493) 评论(0) 推荐(0)

[GPT] php查询mongo,触发了 operation exceeded time limit
摘要:"operation exceeded time limit"错误通常意味着查询所需的时间超过了MongoDB实例配置的操作超时限制。 这可以是由于查询需要处理大量数据或没有正确索引导致的慢查询。 建议使用explain()命令来分析查询计划并确认是否使用了正确的索引。 如果查询仍然需要更长时间才能 阅读全文

posted @ 2023-03-28 18:36 ercom 阅读(574) 评论(0) 推荐(0)

[GPT] Nginx+PHP 技术栈 504 Gateway Time-out 解决方案
摘要:1. 504 Gateway Time-out 是什么情况? 504 Gateway Time-out 是一种 HTTP 状态码,表示服务器在作为网关或代理时无法从上游服务器(例如应用程序服务器)接收到请求的响应。 这通常意味着上游服务器在处理请求时花费了太长时间,或者出现了连接问题。 这可能是暂时 阅读全文

posted @ 2023-03-28 18:34 ercom 阅读(1786) 评论(0) 推荐(0)

[PHP] 如何让 php-fpm 的循环 echo 实时输出到浏览器
摘要:PHP 里开启实时输出方法是 ob_implicit_flush() , 但它大部分情况下都不管用, 因为 php.ini 配置里 output_buffering 输出缓冲大部分是 On 开启的, 还有 zlib.output_compression 也经常会被开启, 除了 PHP 这一层,还有 阅读全文

posted @ 2022-02-28 18:21 ercom 阅读(418) 评论(0) 推荐(0)

[PHP] 业务逻辑大内存占用的优化思路, yield 和 chunk
摘要:示例: header("content-type:text/html;charset=utf-8"); function readTxt() { $handle = fopen("./test.txt", 'rb'); while (feof($handle) false) { yield fget 阅读全文

posted @ 2022-02-25 23:56 ercom 阅读(114) 评论(0) 推荐(0)

[FAQ] PHP+Nginx 架构网站 502 和 504 问题
摘要:502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。504 Gateway Time-out:作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到 阅读全文

posted @ 2021-11-09 17:59 ercom 阅读(201) 评论(0) 推荐(0)

[FAQ] PHP Warning: json_encode(): double INF does not conform to the JSON spec
摘要:如果待 json 编码元素的数值趋近无穷大,会有这个提示。 比如:小数位超出长度。 解决方式建议保留固定长度的位数,也可以四舍五入。 round(sprintf('%.11f', xxxxx), 10) Ref:json - What does double INF mean in PHP warn 阅读全文

posted @ 2021-09-15 19:02 ercom 阅读(57) 评论(0) 推荐(0)

[PHP] 小数转科学计数法, 小数保留 n 位
摘要:使用sprintf / printf 的 %e 或%E 格式说明符将其转换为科学计数法。 使用精度控制符指定保留多少位。 例如:sprintf('%.4e', 0.00000123); Link:https://www.cnblogs.com/farwish/p/14812754.html 阅读全文

posted @ 2021-05-26 11:36 ercom 阅读(425) 评论(0) 推荐(0)

[PHP] 有关PHP浮点数默认显示位数 precision 以及如何调整
摘要:PHP 以浮点数显示的有效位数默认是 14 位。-1 表示将使用一种增强的算法来四舍五入这些数字。 如果想显示更长的浮点位数,可以设置如:ini_set('precision', 40); 有两点需要注意:1. 该设置只是控制显示精度,和查询精度无关。2. 遇到计算和round函数时,显示上依然会以 阅读全文

posted @ 2020-12-23 11:38 ercom 阅读(847) 评论(0) 推荐(0)

[Nova] belongsTo, belongsToMany 当前页动态 dependsOn 其它 fields, nova-belongs-to-dependency, belongs-to-many-field-nova
摘要:nova-belongs-to-dependency 例子: use Manmohanjit\BelongsToDependency\BelongsToDependency; ... return [ ... BelongsTo::make('Type'), BelongsToDependency: 阅读全文

posted @ 2020-11-27 01:06 ercom 阅读(113) 评论(0) 推荐(0)

[FAQ] swagger-php 支持 Authorization Bearer token 校验的用法
摘要:@OA\SecurityScheme 可以是 Controller 层面也可以是 Action 层面。 类型 type="apiKey"。 in="header" 表示在 header 头中。 name 定义请求头的 key 名为 Authorization。 securityScheme="xx" 阅读全文

posted @ 2020-11-21 18:35 ercom 阅读(962) 评论(0) 推荐(0)

[FAQ] swagger-php @OA\JsonContent 与 @MediaType @OA\Schema 的用法
摘要:@OA\JsonContent 是对 @MediaType @OA\Schema 两者的封装,类似于 laravel 中 JsonResponse 对 Response 的封装。 @OA\JsonContent 例子: * @OA\Response( * response=200, * descri 阅读全文

posted @ 2020-11-21 18:09 ercom 阅读(979) 评论(0) 推荐(0)

[FAQ] ErrorException of l5-swagger:generate, Required @OA\Info() not found
摘要:l5-swagger 除了要添加 @OA\Get() 针对方法的注释之外,每个 Controller 还需要一个概述信息,如下: /** * @OA\Info( * title="Auth API", * version="1.0" * ) */ Refer:l5-swagger Link:http 阅读全文

posted @ 2020-11-21 15:12 ercom 阅读(1590) 评论(0) 推荐(0)

[FAQ] Laravel 验证未通过 Route [login] not defined 处理
摘要:一种方式是在路由中定义一个name为 login 的请求。 Route::get('xxx', [XxxController::class, 'x'])->name('login'); 第二种方式是根据 unauthenticated 逻辑可以得知, 当请求为 ajax 或者 header 头 Ac 阅读全文

posted @ 2020-10-19 21:46 ercom 阅读(1895) 评论(0) 推荐(0)

[PHP] composer, PHP Fatal error: Allowed memory size of xx bytes exhausted
摘要:终端执行 composer 命令时经常会遇到内存不够的情况。 视情况升级一下 composer,使用 composer self-update。 默认 php 的内存限制是 128M,临时取消 php 的内存限制用 php -d memory_limit=-1 /usr/local/bin/comp 阅读全文

posted @ 2020-10-18 12:50 ercom 阅读(272) 评论(0) 推荐(0)

PHP vs Golang ? 想什么呢 ! What Are You Thinking !
摘要:在使用 PHP 多年之后,我对 PHP 的优势和劣势已经非常清楚,与后起之秀 Golang 相比,两者已经不在一个重量级。 PHP 更像是 70 kg 级别的选手,脚本语言,极速开发,部署方便,性能可以。 Golang 更像是 90 kg 级别的选手,静态语言,众家所长,部署非常方便,性能非常好。 阅读全文

posted @ 2020-04-19 20:36 ercom 阅读(1295) 评论(0) 推荐(0)

[PHP] 浅谈 Laravel 三大验证方式的区别, auth:api, passport, auth:airlock
摘要:auth:api 最先出来,提供了最简单和最实用的方式进行 api 身份校验。 关于它的含义和用法你可以参考以下两篇: 浅谈 Laravel Authentication 的 auth:api 浅谈 Laravel auth:api 不同驱动 token 和 passport 的区别 passpor 阅读全文

posted @ 2020-03-09 14:09 ercom 阅读(1474) 评论(0) 推荐(0)

[PHP] 浅谈 Laravel Authorization 的 gates 与 policies
摘要:首先要区分 Authentication 与 Authorization,认证和授权,粗细有别。 授权(Authorization) 有两种主要方式,Gates 和 Policies。 Gates 和 Policies 的定义可以类比 Routes 和 Controllers: Gates 通过 回 阅读全文

posted @ 2020-02-29 18:40 ercom 阅读(385) 评论(0) 推荐(0)

[FAQ] Composer, Content-Length mismatch
摘要:1. $ composer config repos.packagist composer https://php.cnpkg.org$ composer config cache-files-maxsize 2048MiB 其它镜像源 https://packagist.mirrors.sjtug 阅读全文

posted @ 2020-01-25 23:12 ercom 阅读(591) 评论(0) 推荐(0)

1 2 3 4 下一页