标签存档: PHP

学习PHP的好资料

PHP 之道 – PHP The Right Way:http://laravel-china.github.io/php-the-right-way/ Laravel China 社区项目文档:https://laravel-china.org/topics/2541/community-wiki 博客 鸟哥大神(PHP底层):http://www.laruence.com/ swo …

继续阅读 »

对Swoole、Workerman和php自带的socket的理解

为什么php自带的socket不怎么听说,基本都是用swoole,workerman去实现? 1、PHP的socket扩展是一套socket api,仅此而已。 swoole,用C实现,它的socket是C 库的socket,更加底层可控。 workerman,如题主所说,使用PHP实现,那它的socket就是用PHP socket扩展啊。只是对其进行工程化开发,成了一个框架。 2、swoole …

继续阅读 »

GitHub上有哪些比较有趣的PHP项目

链接就不贴了,可以在github上进行搜索。这里就不列举 symfony、laravel 这些大家都知道的项目了。只列举比较有意思的。 swoole , C扩展实现的PHP异步并行网络通信框架,可以重新定义PHP。过去PHP只能做Web项目,现在有了Swoole。任意服务器端程序都可以用PHP来写。 swoole_framework,基于swoole扩展开发的一个开发框架 yaf,C扩展实现的高性 …

继续阅读 »

PHP使用Phar对文件进行压缩和归档

Phar简介 Phar是PHP Archive缩写,将php文件归档到一个文件包。 PHP5.3之后支持了类似Java的jar包,名为phar。用来将多个PHP文件打包为一个文件。 将一个模块的文件打包成一个phar,这样方便模块整体迁移,只需将phar文件移动过去,其他环境中include即可使用。 Phar为php的C语言扩展,安装php时会默认安装。 在安装目录 bin下面有phar文件,通 …

继续阅读 »

如何在CentOS下PHP多版本共存时指定命令行状态默认使用的PHP版本

问题 在CentOS上安装了4个版本的PHP,但在命令行状态默认使用的php版本是最后安装的那个PHP版本,但我想指定命令行的PHP版本。 分析过程 1、多版本的话要先跟踪一下php命令是调用哪个目录的,可以使用找到后一般是个链接文件,删掉(或重命名)后重新建立一个新的链接文件到新版目录即可。【行不通,没发现有这个链接文件】 2、在 Linux 下执行 php 脚本时通常是可以使用以下命令: #/ …

继续阅读 »

PHP的cURL选项CURLOPT_SSL_VERIFYPEER详解

在开发微信支付的过程中,遇到了关于cURL加密传输的问题,做下记录方便今后查阅。 提交数据到https时,需要pem证书来加密。 我们使用浏览器访问https的时候,浏览器会自动加载网站的安全证书进行加密。但是你用curl请求https时,没有通过浏览器,就只有自己手动增加一个安全证书进行加密。 代码示例: 知识点摘要: CURLOPT_SSL_VERIFYPEER 设置为FALSE 禁止 cUR …

继续阅读 »

PHP异常处理try-catch-finally及捕获异常实例详解

详情请阅读: 官方手册:http://php.net/manual/zh/language.exceptions.php php中try catch捕获异常实例详解:http://www.jb51.net/article/57688.htm 异常处理try-catch-finally:http://www.cnblogs.com/dytl/p/3725912.html

PHP命名空间(Namespaces)详解及使用经验总结

详情请阅读: 官方手册:http://php.net/manual/zh/language.namespaces.php PHP命名空间(Namespace)的使用详解:http://www.cnblogs.com/kuyuecs/p/3556421.html

php.ini memory_limit引起的问题及解决方法详解

故障现象 在运行PHP程序,通常会遇到“Fatal Error: Allowed memory size of xxxxxx bytes exhausted”的错误, 这个意味着PHP脚本使用了过多的内存,并超出了系统对其设置的允许最大内存。 解决这个问题,首先需要查看你的程序是否分配了过多的内存,在程序没有问题的情况下,你可以通过一下方法来增加PHP的内存限制(memory_limit)。 检查 …

继续阅读 »

CentOS下编译安装PHP出现的错误整理

问题:make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1 分析:有时候编译安装PHP,对于大内存服务器来说一般问题不大,但是对于小内存,比如512MB内存的服务器来说,很有可能会出现问题,因为编译过程是一个内存消耗较大的动作。本人近期就遇到一个这样的问题:在512MB内存centos操作系统的去服务器上编译安装某国内云主机,在编译安装PH …

继续阅读 »

Linux CentOS6.x 下编译安装Cacti监控和配置的详细教程

Cacti简介 随着公司规模扩大,服务器也日渐增多,对服务器集群的网络流量和服务器性能实时监测显得愈发重要。开源阵营中常用有MRTG(MultiRouter Traffic Grapher)–基于SNMP的网络流量统计分析工具。它通过SNMP协议从设备得到并记录网卡信息,并将流量负载以图形的方式显示出来,系统负载小,使用方便。不过,由于MRTG存在诸多缺点,其作者Tobias Oeti …

继续阅读 »

phpize是什么及在Linux下用phpize给PHP动态添加扩展

php有很多扩展功能,我们在初次安装的时候并没有安装某些扩展,可能在使用的过程中,又需要用到这些扩展。php提供了一个phpize工具供我们安装需要的扩展。 phpize是干嘛的? phpize是什么东西呢?php官方的说明:http://php.net/manual/zh/install.pecl.phpize.php phpize 命令是用来准备 PHP 扩展库的编译环境的。下面例子中,扩展库 …

继续阅读 »

PHP下的Redis使用与总结

关于redis的介绍这里就不写了,百科就能查到,Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 一、利用PHP自带的libredis扩展库进行连接操作 例一: $libredis = Libredis (); $connection = $libredis->get_connection ( “127.0. …

继续阅读 »

CentOS6.x Linux下编译安装Redis主从及PHP扩展PhpRedis安装配置

Redis简介 Redis 是一个开源、支持网络、基于内存、键值对存储数据库,使用 ANSI C 编写,可以在所有POSIX系统(如Linux, *BSD, Mac OS X, Solaris等)上安装运行。而且Redis并不依赖任何非标准库,也没有编译参数必需添加。编译安装Redis,我们唯一需要的就是make。其开发由 VMware 主持。根据月度排行网站 DB-Engines.com 的数据 …

继续阅读 »

PHP性能监测模块XHProf编译安装与测试

说明: 什么是XHProf XHProf是一个分层PHP性能分析工具。它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况。一个函数的开销,可细分成调用者和被调用者的开销,XHProf数据收集阶段,它记录调用次数的追踪和包容性的指标弧在动态callgraph的一个程序。它独有的数据计算的报告/后处理阶段。在数据收集时,XHProfd通过检测循环来处理递归的函数调用,并通过给递 …

继续阅读 »