特殊公告:网站所有者请及时联系主机服务商获取最新域名解析地址,当前解析地址老旧将会影响您网站访问速度。给您带来的不便深表歉意,敬请谅解!
网站建设技术集锦-Lee's Blog-本博客是涉及网站建设、服务器维护等IT技术的博客-不为失败找借口,只为成功找方法。
预览模式: 普通 | 列表

  这几天在协调处理短信接口调用失败的问题,处理完后发现发送短信很耗时,要5秒左右,是PHP调用 file_get_contents访问远程接口的的,而我前面处理调用失败问题时最后测试短信接口时是直接用的Linux命令curl调用,速度是非常快的。

  先从代码入手,刚开始以为是file_get_contents比curl慢,虽然觉得也不至于慢到这种程度,但是总得试试看,于是换成curl,依旧很慢。

  难道是域名解析问题?于是在hosts文件里写好本地解析,再试,果真正常了,秒发。看来真是域名解析问题,但又不知为何Shell里没问题,独独PHP里有问题。虽然把域名写死在hosts里能解决问题,但是总不是办法。

  上网查,有人说是PHP缓存了域名解析,重启PHP即可。我马上去重启PHP,还真好了。但是有一点我不明白,既然是缓存,那应该是速度更快才对。在一个技术群里讨论时我突然想起来昨天测试接口时发现服务器设置的首选DNS是不能用的,然后我改了。难道PHP缓存的不是域名解析,而是域名解析服务器(DNS)?看来只有这个解释了,有空可以做个测试验证一下。

Tags: PHP curl

分类:网站技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1404

   今天在写一个导出数据到csv的功能,为了防止中文乱码,需要将utf8转码,我使用了这样的语句:

  

PHP代码
  1. #这里先是把csv文件的内容生成,然后下面转码 
  2. $csv=iconv('utf-8','gb2312',$csv);

  结果报Notice: iconv(): Unknown error (22)的错误,想起来$csv里带有换行,所以没办法转换,于是在各个数据项串成csv文件内容前转换,这时报了两个iconv(): Unknown error (84)的错误,输出内容,发现报错时有一个是处理汉字“密菓”,第二个字不认得,生僻,我突然想到,难道是字符集不支持,于是换成gbk:

PHP代码
  1. $csv .= iconv('utf-8','gbk',$val)  

  再运行,没报错了。

Tags: PHP iconv

分类:网站技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1432

微信大文件的清理

   最近手机可用空间越来越小了,新软件都没办法安装。前几天都是用手机自带的垃圾清理软件清理一些缓存之类的才能安装新软件,老是这样,太麻烦了。

  今天决定动手解决这个问题。用软件分析过文件占用后发现微信APP的文件夹里有几个文件异常的大,其中85f22adb...(很长就不抄完了)/sfs文件夹下有一个文件名叫sns.block.00001,大小达到1.3G。不知道这文件是干什么用的,删除怕聊天记录也没了,上网搜索了下,也没有人能说出个所以然。看这文件名,带有sns,我猜测与朋友圈有关系,于是退出微信,先重命名备份这个文件,然后再打开微信,发现聊天记录正常,没丢,通讯录也正常。再进入sfs文件夹,发现微信已经新建了一个文件sns.block.00000,为了验证我的想法,我刷了下朋友圈,再去看这个文件,发现变大了一些,再往下拉,加载更多的朋友圈内容,每加载一些内容,这个文件就会变大,观看朋友圈视频后也一样会增加此文件大小。由此可见此文件是保存朋友圈信息用的。

  总结:类似sns.block.00000,sns.block.00001这样的文件是保存朋友圈信息用的,以便回看历史信息能快速加载,少耗费流量。所以可以大胆放心地删除,最多是查看近日朋友圈内容的时候再下载一次而已。

Tags: 微信 清理

分类:网络生活 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1395

博客貌似被黑了,有空换PHP的

   由于近来工作比较忙,所以有大半年没关注我这个博客站了。

  前两天发现站点打不开了,于是找朋友要了个小地方,放上去,今天发现一堆的垃圾评论与留言,想登录后台管理,结果发现登录不上,提示密码错误。以为自己记错了,试了几个可能的密码,都不行,于量拿出很早已经写的重置用户密码的代码,重置,再登录,也不行,傻眼了,难道管理员用户有另外的表,记得没有啊,查看数据库确认表,才发现我的用户名被改了。看来是已经被黑了。

  这个博客站是8年前架的,那时用的是ASP,现在早就改行做PHP了,正好可以抽空把这个站也改成PHP的。

  除了用户名被改,还有恶意注册与留言,得抓紧时间换了。

Tags: 黑客

分类:网络生活 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1946

使用socket方式连接Nginx优化php-fpm性能

Nginx连接fastcgi的方式有2种:TCP和unix domain socket

什么是Unix domain socket?—— 维基百科
Unix domain socket 或者 IPC socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。与管道相比,Unix domain sockets 既可以使用字节流和数据队列,而管道通信则只能通过字节流。Unix domain sockets的接口和Internet socket很像,但它不使用网络底层协议来通信。Unix domain socket 的功能是POSIX操作系统里的一种组件。

Unix domain sockets 使用系统文件的地址来作为自己的身份。它可以被系统进程引用。所以两个进程可以同时打开一个Unix domain sockets来进行通信。不过这种通信方式是发生在系统内核里而不会在网络里传播。

TCP和unix domain socket方式对比
TCP是使用TCP端口连接127.0.0.1:9000
Socket是使用unix domain socket连接套接字/dev/shm/php-cgi.sock(很多教程使用路径/tmp,而路径/dev/shm是个tmpfs,速度比磁盘快得多

查看更多...

Tags: Nginx php-fpm

分类:网站技术 | 固定链接 | 评论: 69 | 引用: 0 | 查看次数: 6131

xhprof与Xdebug的奇怪问题

  为了查找项目中比较耗性能的PHP代码,这两天在装xhprof用来跟踪代码,结果遇到了一个很奇怪的问题。安装配置好xhprof后,用来跟踪简单的代码没一点问题,但是在项目中一跟踪,PHP-FPM进程直接就挂了,查看各种日志,并且开了内核转储,折腾了半天也没找到挂了的原因。

  没办法,只好换Xdebug。安装,配置,很快就搞定了。

  在使用Xdebug前我突发奇想,不知道Xdebug能不能跟踪到xhprof导致PHP-FPM挂了的的问题,于是同时启用两者,结果意外地发现xhprof也能用了。为了证明是不是Xdebug导致xhprof可以用了,我禁用了Xdebug,xhprof又导致PHP-FPM挂了,重新启用又好了。

  真是好奇怪的问题,不知道是什么原因造成的,暂时也没时间深究了。

查看更多...

Tags: PHP xhprof xdebug

分类:网站技术 | 固定链接 | 评论: 15 | 引用: 0 | 查看次数: 4974

mysql主从同步配置

前两天配置了Mysql主从,再记录如下,以备下次查看。

 

主服务器设置

1、登录Master服务器,修改my.cnf,添加如下内容;
[mysqld]
server-id = 53 #//数据库ID号, 为1时表示为Master,其中master_id必须为1到232–1之间的一个正整数值;
log-bin=mysql-bin #//启用二进制日志;
binlog-do-db=dbname #//需要同步的二进制数据库名;
binlog-ignore-db=mysql /#/不同步的二进制数据库名;这个同步后听说很麻烦,不同步;
log-slave-updates #//把更新的记录写到二进制文件中;
slave-skip-errors=all #//跳过错误,继续执行复制;

查看更多...

Tags: mysql

分类:数据库 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 4704

ssh连接速度很慢的解决方法

 问题现象:

公司有几台服务器,SSH连接的时候很慢,半天才连接上,连上后一切操作正常,网络速度没问题。

查看更多...

Tags: SSH

分类:网站技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3452