# php
ubuntu18.04编译安装php7.0
起因
虽然7.0已经停止维护了,但有些老项目也只是过度,后期直接用新项目替换,没有必要在进行升级。所以服务器还是需要用到7.0的运行环境。
本来想用apt简单按一下,结果发现apt里面已经没有php7.0了。只能自己源码安装。
vscode打造php开发环境
文档注释
借助于 PHP DocBlocker 插件,可以快速地在类名、变量名、方法/函数名 上方添加注释。
自动补全
借助于 PHP Intelephense 插件,可以实现代码智能提示。
安装后选择 file->preferences->settings 选择右上角{}
进入配置模式,添加"php.executablePath": "/usr/bin/php"
,配置上php的路径
代码格式化
借助于 php-cs-fixer 插件,可以方便地按照某一规则格式化代码,让你时刻保持代码可读性和风格统一。
docker环境下php使用指南
最近由于业务原因,需要将 php7.0 升级到 7.2。升级要考虑一下几点
要满足以下需求
- php7.0 和 7.2 要共存,以免升级 7.2 以后出现问题,及时切换回来。
- 升级操作要简单,服务器数量比较多,原生方式安装太过复杂,操作步骤太多,就算携程 shell 脚本,维护起来也比较麻烦
- nginx 保持原样,只对项目相关的配置文件做简单调整即可。如果 nginx 变更日志处理等模块都收到牵连。
考虑到上面的因素,用 docker 显然是非常符合的。于是就开启了踩坑之旅。
主要遇到了两个问题,一个是502
,还有一个是File not found
。下面进行分析
前后端分离session跨域解决方案
session
php的session比cookie安全,这是好多人知道的常识。session的数据是存放在服务端的,那么程序是如何取到对应的session呢?
那是因为每一个session都有一个身份证号,那就是session id。这个东西一般情况下,服务器会发送给客户端,客户端将它放在cookie里。
cookie是存在跨域问题的,什么叫跨域呢?a.domain.com下创建的cookie,在b.domain.com下是无法使用的,我们需要进行跨域设置。
axios
用过vue开发前后端分离程序的人对axios相比都不陌生了,js前后端分离,如果前后端用两个域名,也存在跨域问题。
post传输详解以及axios、php代码实例
HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。