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