php5.4 与 redis配置

官方下载地址:http://redis.io/download

不过官方没有64位的Windows下的可执行程序,

目前有个开源的托管在github上, 地址:https://github.com/ServiceStack/redis-windows 点击这个地方,

下载文件并解压到自己的电脑目录下

我使用的版本是redis-64.3.0.503.zip,

在WIN10上运行时是这样的:

我用的是PHPSTUDY最新版本,PHP切换到5.4TS版,在EXT目录添加动态库

1、先下载 phpredis.dll扩展包。下载地址:  https://github.com/nicolasff/phpredis/downloads

       用phpinfo 查看到时TS vc9。那么下载的版本就对应好  

      ts版 phpredis_5.4_vc9_ts.7z                         nts版  phpredis_5.4_vc9_nts.7z     

     2、解压缩之后得到两个文件,分别将两个文件复制到php 目录的 ext目录下。

     3、修改php.ini文件。加入extension 扩展 

         extension=php_igbinary.dll
         extension=php_redis.dll

      4、 重启apache ,查看phpinfo 界面。能搜索看到redis字样。

  5、编辑redis.php

<?php     

$redis= newRedis();                   //redis对象     

$redis->connect(“192.168.60.6″,”6379”); //连接redis服务器    

 $redis->set(“test”,”Hello World”);      //set字符串值     

echo$redis->get(“test”);               //获取值

?>

如果能显示则OK.

php7比php5响应速度慢很多,是哪里出了问题?

今天有人反馈新的服务器没有旧服务器响应速度快。

明明换了php7应该比php5快才对啊,但是结果却恰恰相反?

旧服务器是华为云 配置1核2G1M带宽。采用的是php5.4

新服务器是阿里云 配置2核4G2M带宽。采用的是php7.3

打开旧的服务器实测了一下,旧服务器每个页面平均响应速度为180ms

新服务器平均每个页面响应速度为380ms

响应速度几乎慢了1倍。这问题出在哪里呢?

后来想到旧的服务器好像做了xcache缓存。

于是把新服务器也换成了php5.4+xcache缓存。

但是响应速度并没有明显的提升,响应速度依然是300多ms

最终没有找出问题的所在,后续还得继续解决这个问题。

服务器宕机

下午4点半,正在吃火锅。突然有人在群里说服务器挂了。打开电脑一看,确实挂了,远程都无法进入。只能在web控制台重启了机器。然后远程可以进去了。打开服务,过一会又宕机了,这阿里云服务器不知道是怎么回事。又重启了一次,继续修复了一下php版本升级造成的bug。

查看了nginx的错误日志,发现了一些找不到文件的错误。顺便加了个404页面。

WARNING: “A non-numeric value encountered

本文介绍php出现Warning: A non-numeric value encountered问题,用实例分析出现这种错误的原因,并提供避免及解决问题的方法。

<?php
error_reporting(E_ALL);
ini_set(‘display_errors’, ‘on’);

$a = ‘123a’;
$b = ‘b456’;

echo $a+$b;
?>

以上代码执行后会提示 Warning: A non-numeric value encountered

查看PHP7.1官方文档,对这种错误的解释

New E_WARNING and E_NOTICE errors have been introduced when invalid strings are coerced using operators expecting numbers (+ – * / ** % << >> | & ^) or their assignment equivalents. An E_NOTICE is emitted when the string begins with a numeric value but contains trailing non-numeric characters, and an E_WARNING is emitted when the string does not contain a numeric value.

在使用(+ – * / ** % << >> | & ^) 运算时,例如a+b,如果a是开始一个数字值,但包含非数字字符(123a),b不是数字值开始时(b456),就会有A non-numeric value encountered警告。

解决方法

对于这种问题,首先应该在代码逻辑查看,为何会出现混合数值,检查哪里出错导致出现混合数值。

对于(+ – * / ** % << >> | & ^) 的运算,我们也可以加入转换类型方法,把错误的数值转换。

<?php
error_reporting(E_ALL);
ini_set(‘display_errors’, ‘on’);

$a = ‘123a’;
$b = ‘b456’;

echo intval($a)+intval($b);
?>

加入intval方法进行强制转为数值型后,可以解决警告提示问题。
————————————————
版权声明:本文为CSDN博主「傲雪星枫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fdipzone/article/details/78659784

win11

今天打开电脑,系统推送了win11。升级以后有些许的不适应,也是难以避免的。很多新的事物都要慢慢习惯吧。

昨天公告了今天10点更换新的服务器,今天10点更新如期进行。导出数据,导入数据,更新很顺利。

web服务器使用了新的版本,php版本也升级了。据说php7的性能有很大提升,目前感觉不到。

修复了几个老程序不适应php7.3的bug,目前目测没有其他问题。

念奴娇·赤壁怀古

[宋] 苏轼

大江东去,浪淘尽,千古风流人物。故垒西边,人道是,三国周郎赤壁。乱石穿空,惊涛拍岸,卷起千堆雪。江山如画,一时多少豪杰。遥想公瑾当年,小乔初嫁了,雄姿英发。羽扇纶巾,谈笑间,樯橹灰飞烟灭。故国神游,多情应笑我,早生华发。人生如梦,一尊还酹江月。