标签: PHP

为通过Remi仓库安装的PHP-FPM配置Systemd服务

作为RHEL系最方便的网页搭建工具集仓库,Remi仓库以其极快的更新速度与简单实现多版本共存的优势大受运维欢迎,既不用受限于官方仓库较低的版本,也不用纠结于源码编译的复杂配置。美中不足的是,其PHP-FPM包并不支持Systemd启动,也就造成了其常驻后台的不便之处。今天我们来讲解一下如何为通过Remi仓库安装的PHP-FPM配置Systemd服务。

继续阅读 为通过Remi仓库安装的PHP-FPM配置Systemd服务

如何在非服务情况下平滑重启PHP-FPM

最近安装了mysqli扩展,重启了nginx后,phpinfo()没有显示出mysqli,后来搞不出原因,直接使用了pdo连接数据库。直到今天安装redis后phpinfo()没有显示redis,内心那一万只奔腾的草泥马终于爆发,狂找办法,才知道是php-fpm没有重启,按网上的方法鼓捣,完全就是百度文章一家亲,没有一个说到点上,最后还是鼓捣出来了,下面说说php-fpm启动,重启,终止操作方法。

继续阅读 如何在非服务情况下平滑重启PHP-FPM

使用Nginx(HTTPS)反向代理另一台服务器上的WordPress(HTTP)

如今从HTTP到HTTPS的迁移已经成为了Web站点的趋势,毕竟所有人都不愿意看见自己的网站被最新的浏览器标记为不安全,有一把小锁在地址栏上也能给用户以安全感。可这一迁移过程由于Web服务器不同实现所导致的大量历史遗留问题以及业务代码水平的参差不齐,容易遇到各种问题,尤其在WordPress这样一个复杂的CMS系统上。这篇博客来为大家讲解WordPress采用反向代理升级到HTTPS所遇到的典型问题之一。

继续阅读 使用Nginx(HTTPS)反向代理另一台服务器上的WordPress(HTTP)

PHP中使用json_decode()后报错”Cannot use object of type stdClass as array“的解决方法

json_decode()是PHP中一个非常实用的自带函数,然而很多情况下我们使用如下代码,却会报错。
$data = json_decode($json);
var_dump($data["test"]);
报错信息为Cannot use object of type stdClass as array
原因何在呢?
继续阅读 PHP中使用json_decode()后报错”Cannot use object of type stdClass as array“的解决方法

PHP常用数组指针操作函数一览

  • each() 函数返回当前元素的键名和键值,并将内部指针向前移动。该元素的键名和键值会被返回带有四个元素的数组中。两个元素(1 和 Value)包含键值,两个元素(0 和 Key)包含键名。
  • 相关的方法:
  • current() – 返回数组中的当前元素的值
  • end() – 将内部指针指向数组中的最后一个元素,并输出
  • next() – 将内部指针指向数组中的下一个元素,并输出
  • prev() – 将内部指针指向数组中的上一个元素,并输出
  • reset() – 将内部指针指向数组中的第一个元素,并输出

[转载]PHP中strtok()函数的用法

不用不知道,一用吓一跳,PHP的函数实在太多,今天就碰到一个完全陌生的函数——strtok。在PHP手册查了一下,全是英文的,上网搜一下有了中文解释~
还是直接用PHP手册上的例子:

 

$string = "This is/tan example/nstring";  
$tok = strtok($string, " /n/t");  
while ($tok !== false) {  
      echo "Word=$tok<br />";  
     $tok = strtok(" /n/t");  
}   

首先$tok=strtok($string, ” /n/t”)这句使$tok获得了第一个令牌,即“This”。

在while循环中,只要$tok不为空就继续执行下面的语句块,即打印$tok的内容。但是对$tok=strtok(” /n/t”)却始终搞不明白。那就用最笨的办法,在这句句子前后都显示一下$tok的内容。这下搞明白了,每调用一次strtok(” /n/t”)语句,就获得下一个令牌。再翻了一下手册,原来strtok可以只调用一个参数,也即分隔符,而strtok会自己保持其内部指针在字符串中 的位置,直到重新传一个字符串给它。这个功能可比explode强大得多了。