PHP

(49)

PHP 对象的浅复制(shallow copy)

上周遇到一个低级的 bug,半天没有找到问题所在,今天在蹲坑的时候,不知道为何脑子中想起了这个 bug, 然后突然意识到是否是因为没有进行对象 clone 造成的。 果然,问题就是因为在多次遍历同一个 laravel collect

常用的 PHP 数值计算函数

## 对浮点数进行四舍五入 ``` >>> $price = 100.8875; => 100.8875 >>> round($price, 2) // 保留两位小数 => 100.89 >>> round($price,

Malformed UTF-8 characters, possibly incorrectly encoded

PHP 后台调用三方的股票接口,在解析出股票名字后,要拼成 json 返回给前端时,报错 > Malformed UTF-8 characters, possibly incorrectly encoded 第一次遇到这个错误,

使用不同版本的 PHP 执行 composer install 命令

## 需求 我本地使用的是 php 7.1, 但是服务器上使用的是 php 7.0. 而我的服务器,本身性能问题。不方便在服务器上执行 composer install 命令。 所以只能将本地安装好的 vender 目录打包一并放

centos 6 安装 php 7.1

## 查看 centos 系统版本号 ``` cat /etc/redhat-release CentOS release 6.9 (Final) ``` ## 安装 php 7.1 ``` rpm -Uvh http

php-fpm 配置文件检测

用过 Nginx 的兄弟都知道,修改 Nginx 配置文件之后,可以使用 nginx -t 来检测配置文件是否有语法错误。 今天配置 opcache 的时候,发现 php-fpm 也可以检测 php-fpm.conf

GuzzleHttp 请求设置超时时间

之前调用一个三方的 WEB API,大量的请求超时,导致 PHP 进程被占用完。整个网站一直报 504。 其中一个优化措施就是对三方 API 调用设置超时时间。 ``` use GuzzleHttp\Client;

PHP 调用系统命令行,system() / exec()

## system 与 exec 的区别 exec,可以指定 output 变量,且返回的结果是 array 结构。 ``` >>> exec('ls', $output, $ret) => "some_file.txt" >

PHP 日期时间类 Carbon 的常见用法

Carbon 继承了 PHP DateTime 类,所以 DateTime 类的方法同样适用于 Carbon 类。 ## 初始化一个日期 ``` use Carbon\Carbon; $today = new Carbo

PHP FPM status page

PHP FPM status page 用于查看 PHP FPM 进程池状态。 ## php7.0 的配置方法 首先配置 Nginx 的页面路径 ``` location /status { include fas