
PHP
choumin
这个作者很懒,什么都没留下…
展开
-
pdo、pdo_mysql、mysqlnd之间关系总结
pdo全称是:PHP Data Objects,是一种在PHP里连接数据库的使用接口。PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。pdo_mysql:是一个实现了 pdo接口的驱动。pdo只是一个数据访问抽象层,你可以将它和各种不同的数据库一起使用,但需要安装对应的驱动,而pdo_mysql就是这样一种驱动,通过该驱动可以实现PHP对mysql数据库的操作。下面展示了PHP加载的各种pdo驱.原创 2020-10-05 15:36:22 · 1188 阅读 · 0 评论 -
nginx报错问题记录
1、错误信息:FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream可能存在的问题nginx.conf 配置的有问题,检查一下里面的 server_name 是否正确。 php-fpm.conf配置的有问题,检查一下该文件 include 的 www.conf 中配置的 user、group 是否正确,并且对目标文件具有可执行权限。...原创 2020-10-05 14:51:37 · 291 阅读 · 0 评论 -
在PHP中批量校验字段的有效性
在批量校验字段的有效性时,有很多校验规则是可以重复利用的,这样我们可以定义一个校验类将所有校验规则都收敛到这个类中,并对外提供一个可调用的校验方法。定义校验类class Validator { // 长度校验 const MIN_LEN = "minLen"; // 取值范围校验 const RANGE = "range"; const POSITIVE = "positive"; const NEGATIVE = "negative";原创 2020-08-16 16:36:39 · 380 阅读 · 0 评论 -
在PHP中将数据渲染到html页面上
以下几行PHP代码可以简单的将数据渲染到html页面上。/*** @param $filePath PHP模块文件路径* @param $data 模版文件上用到的变量数组* @return string 渲染后的html文件内容*/function getHtmlContentByTpl($filePath, $data) { ob_start(); extract($data); include $filePath; $str = ob_get_conte原创 2020-08-16 14:38:09 · 4378 阅读 · 0 评论 -
在PHP中将html转成PDF
网上介绍了很多将html转成PDF的方法,我主要尝试了以下四种(按使用先后排序):html2pdf mpdf dompdf tcpdf具体的使用方法和过程就不赘述了,网上有很多相关资料。这四个开源库,都可以通过composer安装,可能遇到的坑是网络传输慢,安装超时。如果总是超时,建议使用码云上的源进行下载安装。下面说一下结论,这四个库都可以将html转成PDF,但在转换效果上,mpdf是最好的,没有之一。不管是html格式上还是中文编码、中文字体上,mpdf都是最好的,但美中不足的是,mp原创 2020-08-16 12:38:45 · 4639 阅读 · 2 评论 -
PHP中循环变量的小问题
在PHP中可以使用foreach进行变量的循环,它有两种语法:foreach (array_expression as $value) statementforeach (array_expression as $key => $value) statement第一种格式遍历给定的array_expression数组。每次循环中,当前单元的值被赋给$value并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。第二种格式做同样的事,只除了当前单...原创 2020-05-14 18:48:12 · 432 阅读 · 0 评论 -
PHP学习之NULL合并操作符
1、在PHP7中出现了NULL合并操作符,具体运算形式是:$a ?? $b ?? $c该表达式返回从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL,则返回 NULL。最开始接触这个运算符是在项目中看到别人有这样用,实现的效果貌似和三元运算符类似,即 我以为下面式子成立$c = $a ?? $b; <=> $c = $a ? $a : $b;后来才发现,并不是这样的!只是在$a==null的时候,上述才成立,即使$a==0也是不成立的。2、看原创 2019-05-31 12:03:49 · 217 阅读 · 0 评论 -
php-fpm监听文件拒绝访问
nginx与php-fpm有两种通信方式: tcp socket 和 unix socket。对于第一种,php-fpm通常监听本机的9000端口,对于第二种,php-fpm通常监听本机的一个sock文件。今天遇到一个问题,分别配置并启动nginx和php-fpm后,当nginx处理来自浏览器的PHP文件请求时,log文件中报以下错误:[crit] 14881#14881: *17 conn...原创 2019-06-15 01:23:33 · 1268 阅读 · 2 评论