![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
文章平均质量分 61
jakqigle
好好学习,天天向上
展开
-
linux编译安装php5.4遇到错误:undefined reference to `libiconv_open'
configure后 ,修改 Makefile文件以下内容:EXTRA_LIBS = -lcrypt -lz -lcrypt -lrt -lmysqlclient -lmcrypt -lldap -llber -lfreetype -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl -lrt -lxml2 -lz -lm -lssl -lcrypto原创 2015-07-28 12:27:25 · 2361 阅读 · 0 评论 -
PHP工程师面临成长瓶颈
作为Web开发中应用最广泛的语言之一,PHP有着大量的粉丝,那么你是一名优秀的程序员吗?在进行自我修炼的同时,你是否想过面对各种各样的问题,我该如何突破自身的瓶颈,以便更好的发展呢? PHP工程师面临成长瓶颈 先明确这里所指的PHP工程师,是指主要以PHP进行Web系统的开发,没有使用其的语言工作过。工作经验大概在3~4年,普通的Web系统(百万级访问,千成级数据以转载 2012-11-15 23:28:30 · 559 阅读 · 0 评论 -
Redis消息通知系统的实现
最近忙着用Redis实现一个消息通知系统,今天大概总结了一下技术细节,其中演示代码如果没有特殊说明,使用的都是PhpRedis扩展来实现的。内存比如要推送一条全局消息,如果真的给所有用户都推送一遍的话,那么会占用很大的内存,实际上不管粘性有多高的产品,活跃用户同全部用户比起来,都会小很多,所以如果只处理登录用户的话,那么至少在内存消耗上是相当划算的,至于未登录用户,可以推迟转载 2012-11-12 00:08:18 · 582 阅读 · 0 评论 -
又拍网架构分析
又拍网是一个照片分享社区,从2005年6月至今积累了260万用户,1.1亿张照片,目前的日访问量为200多万。5年的发展历程里经历过许多起伏,也积累了一些经验,在这篇文章里,我要介绍一些我们在技术上的积累。 又拍网和大多数Web2.0站点一样,构建于大量开源软件之上,包括MySQL、PHP、nginx、Python、memcached、redis、Solr、Hadoop和Rabb...转载 2012-11-11 23:50:06 · 590 阅读 · 0 评论 -
德国SNS交友/视频网站Poppen.de的技术架构分享
Poppen.de是一个德国的 交友/ 聊天/ 视频 的SNS网站, 部分内容NSFW,网站采用了很多我们熟悉的技术,像Nginx ,MySQL,CouchDB,Erlang,Memcached的,RabbitMQ(消息服务器),采用了Graphite作为网站的系统监控,Red5作为视频服务,Tsung作为压力测试工具,选择的技术种类较多,还采用PHP和Erlang 2种程序语言作为不同功能的开发...转载 2012-11-11 23:34:09 · 688 阅读 · 0 评论 -
使用minify作前端性能优化
关于前端性能优化的文章很多很多,各大网站如google,yahoo都有对前端性能优化的文章和准则。例如yahoo针对前端设计和性能优化提出了几点准则,详细可以阅读它的文章:http://developer.yahoo.com/performance/index.html#rules。 文章中有这样的几点:1.尽量减少加载页面时的http请求,因为任何一个http请求都要连原创 2012-11-08 23:06:44 · 9641 阅读 · 2 评论 -
Gearman的使用
对于分布式网络环境或者有大量任务的应用,我们需要将任务在不同的服务器之间进行分布,这个时候正好是Gearman发挥实力的时候。虽然我们也可以使用MQ队列再加一些自己实现的调度算法来将任务进行分发,但是既然已经有了成熟的产品,为什么不使用下呢。Gearman介绍Gearman提供了一种通用的程序框架来将你的任务分发到不同的机器或者不同的进程当中。它提供了你进行转载 2012-11-06 00:13:43 · 786 阅读 · 0 评论 -
视觉中国的NoSQL之路-从mysql迁移到Mongodb
起因视觉中国网站(www.chinavisual.com)是国内最大的创意人群的专业网站。2009年以前,同很多公司一样,我们的CMS和社区产品都构建于PHP+Nginx+MySQL之上;MySQL使用了Master+Master的部署方案;前端使用自己的PHP框架进行开发;Memcached作为缓存;Nginx进行Web服务和负载均衡;Gearman进行异步任务处理。在传统的基于静态内容转载 2012-11-06 00:06:03 · 1423 阅读 · 0 评论 -
漫谈社区PHP 业务开发
在当前这个互联网业务飞速发展时期,新的产品如雨后春笋般涌出,老产品线新业务也在不断突破和尝试。这就对快速开发迭代提出了更高的要求。一、基础运行环境针对新产品的开发,必须能够快速搭建一套LAMP架构。那么无外乎选择一个webserver,选择一个php版本,选择一个mysql版本,再选择一个PHP开发框架和选择一些php通用扩展和基础库等。这个过程读者可能觉得已经很快了,能不能更快?转载 2012-11-03 01:26:29 · 710 阅读 · 0 评论 -
平时php开发工作中常用的几个命令
切换成root权限登录:sudo su -查看运行进程:ps aux | grep 查看系统运行状态:top在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。查看网络客户连接数:netstat -n | grep tcp | grep 侦听端口 | wc -原创 2012-11-08 23:48:33 · 984 阅读 · 0 评论 -
浅谈facebook服务器架构
大体层次划分Facebook的架构可以从不同角度来换分层次。一种是:一边是PHP整的经典的LAMP stack;另外一个是非PHP整的各种service。Facebook的页面从刚创立的时候扎克伯格写的,到现在,都用PHP开发。后端有用各种语言开发的service。它们之间用跨语言的thrift RPC通信(Scribe也是建立在Thrift之上)。另外一个角度划分的层次是转载 2013-03-31 23:12:57 · 741 阅读 · 0 评论 -
php 大数据量及海量数据处理算法总结
下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。 1.Bloom filter 适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集 基本原理及要点: 对于转载 2014-01-29 23:57:54 · 17626 阅读 · 0 评论 -
linux源码编译安装php5.4.43报错Directive 'allow_call_time_pass_reference' warning
linux源码编译安装php5.4.43报错Directive 'allow_call_time_pass_reference' warning找到php.ini配置文件,注释掉allow_call_time_pass_reference配置项目或者Off关闭之;如果还遇到其他的类似warning,也同样注释掉对应报错配置项即可原创 2015-07-28 12:23:00 · 4263 阅读 · 0 评论 -
mac下安装php-redis扩展
先下源码编译:git clone git://github.com/nicolasff/phpredis.gitcd ./phpredisphpizemakemake install然后编写ini文件:vim /opt/local/etc/php5/conf.d/redis.ini内容:extension=redis.so原创 2014-12-12 01:45:42 · 1941 阅读 · 0 评论 -
老外做得php框架性能测试
CaseTest Simple "Hello World" page output, Simple MVC logic(Router -> Controller -> Viewer), No Database Connections, No complex logic.Hardware platformCPU: Intel Core i5 750 (2.67GHz x4)R转载 2014-12-26 00:30:08 · 6250 阅读 · 0 评论 -
php16进制转二进制流
function hex2bin($str){ $len = strlen($str)/2; $re = ''; for($i=0;$i<$len;$i++){ $pos = $i*2; $re .= chr(hexdec(substr($str,$pos,1))<<4) | chr(hexdec(substr($str,$pos+1,1))); } return $re;}转载 2014-09-30 16:40:24 · 3465 阅读 · 0 评论 -
linux安装xdebug
安装tar -xvzf xdebug-2.1.2.tgzcd xdebug-2.1.2phpize (确保phpize已经安装)./configuremake && make install编辑php.inizend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/xd原创 2014-09-02 23:55:04 · 1686 阅读 · 0 评论 -
jenkins忘记管理员账号密码的补救方法
一不小心,忘记了admin用户的账号密码。然后就看不到manage jenkins的那部分内容了,看不到就改不了用户权限,也就是系统瘫痪了。于是,想着开始没注册账号和密码的时候,都能看见,也就是没有sign in 和sign up模块的时候,是可以使用的,这些信息应该写在jenkins的配置文件里。目录:/var/lib/jenkins/config.xml需要删除以下内容转载 2014-09-01 23:10:24 · 62563 阅读 · 1 评论 -
php持续集成环境笔记
记录下php集成环境中若干个工具的安装步骤和过程:安装pear安装phpunitpear channel-discover pear.phpunit.depear channel-discover components.ez.nopear channel-discover pear.symfony-project.comsudo pear install phpunit/原创 2014-08-31 12:24:24 · 3164 阅读 · 0 评论 -
PHP的CURLOPT_POSTFIELDS参数使用数组和字符串的区别
PHP的CURL组件是非常常用的HTTP请求模拟器。通常要发送post数据时,我已经习惯于这样写:curl_setopt( $ch, CURLOPT_POSTFIELDS,$post_data);但是在向某一个服务器发送请求的时候,服务器返回500。而使用socket方式连接上去发送请求,返回正常的数据。尝试发送到一个仅有的网页上,可以看到使用数组发送POST数据时,收到的转载 2014-02-07 23:29:45 · 26126 阅读 · 1 评论 -
php函数实现原理和分析
作者:HDK (百度) 前言在任何语言中,函数都是最基本的组成单元。对于php的函数,它具有哪些特点?函数调用是怎么实现的?php函数的性能如何,有什么使用建议?本文将从原理出发进行分析结合实际的性能测试尝试对这些问题进行回答,在了解实现的同时更好的编写php程序。同时也会对一些常见的php函数进行介绍。 php函数的分类在php中,横向划分的话,函数分为两大类:转载 2012-10-22 22:29:52 · 574 阅读 · 0 评论 -
MONGODB的特性和PHP-MONGODB环境的搭建
mongoDB是目前比较流行的非关系型数据库(no-sql),对于网上吹嘘的性能、吞吐、并发等大家可以自己来摸索和体会,这里不复述。说说mongoDB一些开发级的特性吧:1,mongo没有两表连查,相比mysql就没有 left join 或者 select … from a,b这样的操作了;2,mongo不支持事务、存储过程等,所以用mongo做安全和稳定性高的应用不太现实;转载 2012-10-30 00:04:43 · 695 阅读 · 2 评论 -
PHP Beautifier的安装和使用
PHP Beautifier是一个用php编写的php代码美化工具。通过pear可以很方便的安装并使用。简单介绍下载windows下安装php beautifier和使用它格式化代码的方法:1.确保php5环境下已经安装了pear,如果没有安装请参考文章《windows下安装pear包管理器》。2.pear下安装php beautifier: 在上网环境下,C原创 2012-10-18 22:59:49 · 4730 阅读 · 0 评论 -
mysql查询大量数据,php内存占用溢出问题
MySQL查询返回的结果太多(达10万条), 从而导致PHP内存不够用。 所以, 他问, 在执行下面的代码遍历返回的MySQL结果之前, 数据是否已经在内存中了? - while ($row = mysql_fetch_assoc($result)) { // … } 当然, 这种问题有许多优化的方法。 不过, 就这个问题来讲, 我首先想到, MySQL是经转载 2012-04-22 20:39:22 · 1372 阅读 · 0 评论 -
php共享内存使用
原文出处:http://hi.baidu.com/bsder/blog/item/cfa0c83dd21245c79e3d62e3.html 本文将讨论在PHP4环境下如何使用进程间通讯机制——IPC(Inter-Process-Communication)。本文讨论的软件环境是linux+php4.0.4或更高版本。首先,我们假设你已经装好了PHP4和UNIX, 为了使得ph转载 2012-03-31 23:17:13 · 582 阅读 · 0 评论 -
利用 SPL 快速实现 观察者设计模式
什么是 SPLSPL(Standard PHP Library)即标准 PHP 库,是 PHP 5 在面向对象上能力提升的真实写照,它由一系列内置的类、接口和函数构成。SPL 通过加入集合,迭代器,新的异常类型,文件和数据处理类等提升了 PHP 语言的生产力。它还提供了一些十分有用的特性,如本文要介绍的内置 Observer 设计模式。本文介绍如何通过使用 SPL 提供的 SplSubje转载 2012-02-12 15:05:49 · 582 阅读 · 0 评论 -
php session实现原理
SESSION的实现中采用COOKIE技术,SESSION会在客户端保存一个包含session_id(SESSION编号)的COOKIE;在服务器端保存其他session变量,比如session_name等等。当用户请求服务器时也把session_id一起发送到服务器,通过 se转载 2011-08-04 15:33:42 · 401 阅读 · 0 评论 -
CentOS5.6 快速搭建lamp
在虚拟机下安装了个CentOS,5.6版本的。利用NAT模式与宿主pc共享上网! 当然可以采用编译源码的方式搭建lamp。这里只是介绍快速搭建php开发框架的方法。其实也没什么,主要是是是使用linux的yum来在线安装。如果上不了网请查找编译源码搭建lamp的文章。网上N原创 2011-07-22 16:47:00 · 638 阅读 · 0 评论 -
php的warning:session_start() [function session_start()]:open (c:/windows/TEMP/.......,O_RDWR) failed:Permission denied...
<br /> 在远程调试程序的时候出现了这样的问题,警告原文的意思是代码中调用session_start()函数,打开默认session的存储文件被拒绝。<br /> <br /> 我之前都是在localhost下进行的调试,所以没发现这个毛病。查看了网上的文章以及官方的资料,再看看代码,也确保了在<br />session_start()函数调用之前也并没有任何html输出。<br /> <br /> 于是干脆躲开壁垒,修改php.ini配置文件中的session_sa原创 2010-10-19 09:14:00 · 5593 阅读 · 1 评论 -
关于php的标记带来的问题
在部署GNUBoard4的时候,发现这个由韩国人开发的代码中,显示变量的标记都是用这样的方式:,再或有点类似的风格。我打开浏览器运行代码,发现出现错误,代码不能正常运行,看了看代码发现并对原gnuboard代码做过多的修改。再看了看php运行版本,疑惑是不是原来运行的php版本是否过低,结果发现确实是php4,而我本机是php5版本,但是应该做到向下兼容的啊,况且php4的代码在php5大都可以跑起来的。怎么回事呢? ... ... 后来发现了问题的根源,是因为我的php配置中,没有设置s原创 2010-09-13 11:43:00 · 809 阅读 · 0 评论 -
大话PHP之性能
文章源引自:http://stblog.baidu-tech.com/?p=1343 (百度搜索研发博客)1缘起关于PHP,很多人的直观感觉是PHP是一种灵活的脚本语言,库类丰富,使用简单,安全,非常适合WEB开发,但性能低下。PHP的性能是否真的就如同大家的感觉一样的差呢?本文就是围绕这么一个话题来进行探讨的。从源码、应用场景、基准性能、对比分析等几个方面深入分析PHP之转载 2012-04-22 22:10:17 · 385 阅读 · 0 评论 -
php魔术方法之_call()
php的魔术方法_call()在调用类中未定义的方法时会自动调用。php.net中代码示例如下:<?phpclass MethodTest{ public function __call($name, $arguments) { // Note: value of $name is case sensitive. echo "Calling原创 2012-07-02 00:05:42 · 624 阅读 · 0 评论 -
[转]php对程序员要求更高
今天是愚人节, 但我这个文章标题可不是和大家开玩笑. 首先, 大家都知道, PHP也是一种编译型脚本语言, 和其他的预编译型语言不同, 它不是编译成中间代码, 然后发布.. 而是每次运行都需要编译..为此, 也就有了一些Opcode Cache, 比如开源的APC, eacc. 还有商业的Zend O+等.那么为什么PHP不把编译/执行分开呢?PHP转载 2012-07-15 21:54:28 · 419 阅读 · 0 评论 -
PHP语法分析器:RE2C && BISON 总结
本文地址:http://imsiren.com/archives/647在这之前,我曾经尝试过一个项目,就是将我们的PHP代码自动生成so扩展,编译到PHP中,我叫它 phptoc。但是由于各种原因,暂停了此项目。写这篇文章一是因为这方面资料太少,二是把自己的收获总结下来,以便以后参考,如果能明白PHP语法分析那对PHP源码的研究会更上一层楼地 ^.转载 2012-10-18 23:41:11 · 1379 阅读 · 0 评论 -
windows下安装php5+nginx
安装 PHP5首先,从 http://www.php.net/downloads.php 下 载最新的 PHP5.2.9-2 Windows 版本,解压至 C:\php,把压缩包中的 php.ini-recommended,更名为 php.ini,然后打开修改几个选项:error_reporting = E_ALLdisplay_errors = Onextension_d转载 2012-10-10 21:32:17 · 661 阅读 · 0 评论 -
本地时区转化为他国时区时间
数据库中存入数据时间时采用的是中国时区,现在要显示泰国时间,故使用php的timezone系列函数和类解决这个问题。先计算2个时区相差的秒数,然后用存储时间加上差值进行调整后格式化显示出泰国时间。代码如下:function offset($remote, $local = NULL, $now = NULL){ if ($local === NULL) { // Use the de原创 2012-10-07 22:12:02 · 925 阅读 · 0 评论 -
请手动释放你的资源
在PHP5.2以前, PHP使用引用计数(Reference count)来做资源管理, 当一个zval的引用计数为0的时候, 它就会被释放. 虽然存在循环引用(Cycle reference), 但这样的设计对于开发Web脚本来说, 没什么问题, 因为Web脚本的特点和它追求的目标就是执行时间短, 不会长期运行. 对于循环引用造成的资源泄露, 会在请求结束时释放掉. 也就是说, 请求结束时释放资转载 2012-07-26 23:10:36 · 1307 阅读 · 0 评论 -
php实现跟踪文件上传进度实现方法
APC实现方法:安装APC,参照官方文档安装,可以使用PECL模块安装方法快速简捷,这里不说明配置php.ini,设置参数 apc.rfc1867=1 ,使APC支持上传进度条功能,在APC源码说明文档里面有说明代码范例: if ($_SERVER['REQUEST_METHOD'] == 'POST') { //上传请求 $status = apc_fetch('转载 2012-08-10 00:40:59 · 730 阅读 · 0 评论 -
关于语言的选择-选易用的
首先, 这篇文章不是对@左耳朵耗子的C++的坑真的多吗?一文的反驳, 我只是在我的理解角度说一下我对语言选择的一些感悟.关于C和C++的争论, 由来已久, 从当年Linus攻击C++是恐怖的语言的时候, 就一直没有停歇, 而就我自己来说, 我对C++的掌握还远远不够, 所以没有能力来从语言设计角度来对比(我在最初, 也尝试学过C++, 用过C++, 但后来发现, 我学不好, 用不好,转载 2012-08-07 22:27:01 · 668 阅读 · 0 评论 -
windows下安装pear包管理器
PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR之于PHP就像是CPAN(Comprehensive Perl Archive Network)之于Perl。(摘自pear百度百科)简单说就是可以供我们使用的代码仓库。有人云程序员都很懒。其实根本意思无非原创 2012-08-05 23:37:18 · 3517 阅读 · 2 评论