随笔分类 - PHP
摘要:configure: error: Cannot find OpenSSL's <evp.h> 这个可以在configure的时候,指定openssl的路径,查看openssl的安装路径: 可以看到最下面的OPENSSLDIR,到这么路径去查看一下,是不是真的存在这个目录。 我虽然可以执行opens
阅读全文
摘要:Apache 对于Apache,首先是apache的安装,可以参考下面这篇博客:编译安装Apache 编辑apache配置文件,取消下面这两行的注释(删除前面的#): 然后在配置文件最后加上这么一段: 将对php文件的请求转发到本机的9000端口(php-fpm监听的端口) 重启apache即可尝试
阅读全文
摘要:转载自https://studygolang.com/articles/15073 php-fpm是一种master(主)/worker(子)多进程架构,与nginx设计风格有点类似。master进程主要负责CGI及PHP环境初始化、事件监听、子进程状态等等,worker进程负责处理php请求。 m
阅读全文
摘要:环境:Ubuntu 18.04 LTS 本文的所有软件包都已经全部上传到github上了,地址如下: https://github.com/searchingbeyond/install-php-by-compile 编译安装libxml2 编译安装zlib 编译安装bzip2 编译安装openss
阅读全文
摘要:查看进程就是使用ps命令而已,只不顾ps的参数太多了。 使用php查询的话,必须要开启几个函数(可以执行外部程序的函数),参考官网:http://php.net/manual/zh/book.exec.php 下面是在php进程中查询某个服务创建的进程数,比如httpd,mysqld,sshd...
阅读全文
摘要:正如标题所说那样,本文只讨论输出内容全部为中文或者包含中文的情况。如果内容全是字母或者其他字符的话,可以参考这篇博客:生成验证码 问题 此处要注意,标题中为什么要区别windows和linux分别实现?因为我在网上搜了很多的博客,几乎所有的博客都是一样的,全是使用的windows系统,源代码在lin
阅读全文
摘要:首先需要注意的是: PHP代码的运行错误 和 PHP与MySQL中交互过程中,MySQL中发生的错误,并不一定是同步的。 Case 1:使用PDO,没有设置PDO::ATTR_ERRMODE PDO在没有设置错误处理模式的时候,默认的是PDO::ERRMODE_SILENT,即--不报错,不管是使用
阅读全文
摘要:实现无限级分类的方法中,有一种是利用递归的方式,网上能找到的无限级分类的博客,几乎都是使用递归实现,因为它思想和实现都很简单;另外有一种全路径的方法来实现。 递归方式 递归实现无限级分类的实质: 数据结构中递归实现遍历树 的过程,所以应该将重点集中在树的遍历上面。 其实递归实现无限级最常用的是双亲表
阅读全文
摘要:首先php中有常用的两种方法将文件包含:include和require,而include_once和require_once无非就是升级版而已,这里就不阐述他们的区别,我只提一下我遇到的问题: 先看一下有这么几个文件,文件的层级结构如下: Demo/ dir1 a.php dir2 b.php c.
阅读全文
摘要:使用require或者include来包含文件时,包含的文件的内容相对性,这个很容易搞混,所以记录一下。 这个相对性包括 __DIR__,__FILE__,$_SERVER['PHP_SELF'],$_SERVER['SCRIPT_NAME'] 比如看下面的例子: test/ dir1 a.php
阅读全文
摘要:这里只演示一些普通的shell命令,一些需要root用户权限执行的命令,请参考:php以root权限执行shell命令 php执行shell命令,可以使用下面几个函数: 注意的是:这三个函数在默认的情况下,都是被禁止了的,如果要使用这几个函数,就要先修改php的配置文件php.ini,查找关键字di
阅读全文
摘要:php官方对gc的介绍:http://php.net/manual/zh/features.gc.php
阅读全文
摘要:以PHP语言为例 如果有这么一段代码: 请问:上面的赋值语句的执行顺序是 1、$c 的值先赋值给$b,然后再将$b的值赋值给$a 2、$c 的值先赋值给$b,然后再将$c赋值给$a 3、$a 和 $b 是指向同一个变量,还是只是一个副本 对象连等赋值 上面的例子中,讲一个新创建的对象利用连等的特性,
阅读全文
摘要:遇到一个问题: 在命令行编辑php脚本后,直接使用php命令行执行该php脚本,如果脚本出现错误,在命令行的情况下会报错,显示错误信息,比如下面的情况。 在浏览器中访问该php脚本,浏览器并不会显示任何信息,只是一片空白 后来才发现是因为php配置文件(usr/local/php/etc/php.i
阅读全文
摘要:使用multi_query可以实现执行多条SQL语句,每一条SQL语句通过分号分隔。 需要注意的是: 多条用分号分隔的SQL语句中,只要有一条SQL语句执行失败,那么这一条SQL语句以及之后的SQL语句就不会执行。 只有当第一条SQL语句执行失败,那么multi_query()的返回值才为false
阅读全文
摘要:对于update、insert、delete请参考http://www.cnblogs.com/-beyond/p/8457580.html 执行select,如果SQL语句执行成功,那么返回的是一个mysqli_result对象,如果SQL语句出错,则返回false。 结果如下: 上面的这几项都是
阅读全文
摘要:执行insert 执行update 执行删除 注意一 对于affected_rows的值有这么几种情况,以删除记录为例 1 ->SQL语句正常执行,删除的记录数大于0,则affected_rows为受影响的记录数 2 ->SQL语句正常执行,没有一条记录符合条件,也就是删除的记录为0,则affect
阅读全文
摘要:ab工具是apache自带的一个压力测试工具,可以在apache的安装路径下的bin目录下找到,我的环境中是在/usr/local/apache/bin/目录下; ab 压测主要使用两个参数: -n 请求数 -c 并发数 对于测试的结果,主要关注两个点: Requests per second 服务
阅读全文
摘要:关于RBAC的原理讲解在网上可以找到很多,推荐:编程浪子的RBAC讲解,本篇博客就不再累述RBAC的原理到底是什么样的. 传统的权限控制有ACL和RBAC方式,ACL的耦合度很高,扩展性不佳,RBAC很好的解耦合,将权限控制的整个过程涉及的数据表大致分为5张表格: 下面是使用原生PHP来实现RBAC
阅读全文