
PHP
文章平均质量分 89
大鹏的世界
天道酬勤!分布式+大数据架构解决方案
展开
-
mac mamp workerman环境搭建,安装pcntl扩展
本人开发平台是mac,使用的是mamp集成化的环境工具,最近为了socket编程,选择了php的workerman,在工作之前我们需要安装workerman的依赖环境,目前我们知道mac电脑是自带PHP的,然而mamp自己也给集成了php,一般为了方便使用,我们会使用mamp自带的php,而忽略mac自带的php,所有我们需要将默认的php由原先系统的指向mamp的php1.修改bash_profile文件切换Mac默认PHP版本为MAMP把mac上的默认php修改为MAMP等扩展环境中的php 版本转载 2021-09-10 09:45:09 · 490 阅读 · 0 评论 -
php-fpm 配置和优化
pid = run/php-fpm.pid#pid设置,默认在安装目录中的var/run/php-fpm.pid,建议开启error_log = log/php-fpm.log#错误日志,默认在安装目录中的var/log/php-fpm.loglog_level = notice#错误级别. 可用级别为: alert(必须立即处理), error(错误情况), warning(警告情况), notice(一般重要信息), debug(调试信息). 默认: notice...原创 2020-10-14 19:41:41 · 971 阅读 · 0 评论 -
php单例模式的实例
class Config1 {}class Config{* 必须先声明一个静态私有属性:用来保存当前类的实例* 1. 为什么必须是静态的?因为静态成员属于类,并被类所有实例所共享* 2. 为什么必须是私有的?不允许外部直接访问,仅允许通过类方法控制方法* 3. 为什么要有初始值null,因为类内部访问接口需要检测实例的状态,判断是否需要实例化private static $instance = null;//保存用户的自定义配置参数private $setting = [];/...转载 2020-10-13 17:47:01 · 258 阅读 · 0 评论 -
PHP 高效导入导出Excel(csv)方法之fgetcsv()和fputcsv()函数
阅读目录一、CSV数据导入函数fgetcsv() 二、CSV数据导出函数fputcsv()CSV,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件。回到顶部一、CSV数据导入函数fgetcsv()fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段。与fgets()类似,不同的是 fgetcsv() 解析读入的行并找出 CSV 格式的字段,然后返回一个包含这些字段的数组。fgetcsv() 出错时返回 FALSE,包括碰到文..转载 2020-10-13 17:43:36 · 1242 阅读 · 0 评论 -
PHP之Trait详解
php从以前到现在一直都是单继承的语言,无法同时从两个基类中继承属性和方法,为了解决这个问题,php出了Trait这个特性用法:通过在类中使用use 关键字,声明要组合的Trait名称,具体的Trait的声明使用Trait关键词,Trait不能实例化如下代码实例:<?phptrait Dog{ public $name="dog"; public function bark(){ echo "This is dog"; }}clas..转载 2020-05-14 11:56:09 · 402 阅读 · 0 评论 -
Composer 安装与使用
Composer 是 PHP 的一个依赖管理工具。我们可以在项目中声明所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件,有了它,我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。Composer 默认情况下不是全局安装,而是基于指定的项目的某个目录中(例如 vendor)进行安装。Composer 需要 PHP 5.3.2+ 以上版本,且需要开启 ope...转载 2020-03-20 16:02:28 · 263 阅读 · 0 评论 -
PHP Error 和 Logging 函数
PHP Error 和 Logging 简介error 和 logging 函数允许你对错误进行处理和记录。error 函数允许用户定义错误处理规则,并修改记录错误的方式。logging 函数允许用户对应用程序进行日志记录,并把日志消息发送到电子邮件、系统日志或其他的机器。安装error 和 logging 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。转载 2013-04-26 16:40:41 · 946 阅读 · 0 评论 -
PHP的异步执行
Web服务器执行一个PHP脚本,有时耗时很长才能返回执行结果,后面的脚本需要等待很长一段时间才能继续执行。如果想实现只简单触发耗时脚本的执行而不等待执行结果就直接执行下一步操作,可以通过fscokopen函数来实现。 PHP支持socket编程,fscokopen函数返回一个到远程主机连接的句柄,可以像使用fopen返回的句柄一样,对它进行fwrite、fgets、fread等操作。使用fs转载 2013-04-19 11:11:00 · 1150 阅读 · 0 评论 -
php实现自动获取生成文章主题关键词功能-简易分词
以前写程序一直在逃避这个问题,tag什么的都是要求使用程序的人自行输入,对于某些懒人及为了程序的体验,则是希望可以有自动生成文章关键词,自动获取文章tag的类似功能,这次为了迎接新的项目,所以捣鼓了一晚上,研究了一下这个功能。要实现自动获取关键词的功能,大概可以分成三步 1,通过分词算法将标题和内容分别进行分割,提取出关键词和频度。当前主要的两个算法是中科院的ICTCLAS和隐马尔转载 2013-04-26 16:00:27 · 2592 阅读 · 0 评论 -
PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法
目前的工作是需要对用户的一些数据进行分析,每个用户都有若干条记录,每条记录中有用户的一个位置,是用经度和纬度表示的。还有一个给定的数据库,存储的是一些已知地点以及他们的经纬度,内有43W多条的数据。现在需要拿用户的经纬度和已知地点进行距离匹配,如果它们之间的距离小于一定的数据,比如说500米,就认为用户是在这个地点。MYSQL本身是支持空间索引的,但是在5.x的版本中,取消了对Dist转载 2013-06-12 06:44:43 · 1894 阅读 · 0 评论 -
在 php 中通过 CURL 上传文件
1、使用 CURL 默认的方法$file = realpath('gif/1.gif'); //要上传的文件 $fields['f'] = '@'.$file; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"http://localhost/ajax_server.php?id=1"); curl_setopt(转载 2013-06-19 09:57:40 · 1028 阅读 · 0 评论 -
Php: BCMath php浮点数精确运算
bc是Binary Calculator的缩写。bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale]),如果scale没有提供,就用bcscale的缺省值。这里大数直接用一个由0-9组成的string表示,计算结果返回的也是一个 string转载 2013-07-10 13:01:45 · 1173 阅读 · 0 评论 -
PHP程序员应了解MongoDB的五件事
2010年应该被人们记住,因为SQL将在这一年死去。这一年关系数据库行将就木,这一年开发者发现他们再不需要长时间辛苦的构造列或者表格来存放数据。 2010年将是文档型数据库的起始年。尽管这样的势头已经持续多年,现在才是一个更多,更广泛的文档型数据库出现的年代。从基于云计算的Amazon到Google,大量开源工具,以及随之诞生的CouchDB和MongoDB。 那么什么是MongoDB转载 2013-04-26 22:13:08 · 744 阅读 · 0 评论 -
10个你可能从未用过的PHP函数
1. sys_getloadavg()sys_getloadavt()可以获得系统负载情况。该函数返回一个包含三个元素的数组,每个元素分别代表系统再过去的1、5和15分钟内的平均负载。与其让服务器因高负载宕掉,不如在系统负载很高时主动die掉一个脚本,sys_getloadavg()就是用来帮你实现这个功能的。不过很遗憾,该函数在windows下无效。2. pack()Pack转载 2013-04-26 16:47:25 · 580 阅读 · 0 评论 -
php学习之Smarty——Smarty3
可参考资源:http://www.welefen.com/tag/smarty3一.概述 Smarty3目前最新版本是RC1,尚未稳定。Smarty3基本保持了向前兼容,但有下面几点改变:1. Smarty3需要php5,不再兼容php4;2. Smarty3默认禁止了{php}标签,如果要启用需要设置一下:$smarty->allow_php_tag = true转载 2013-04-09 11:25:08 · 1198 阅读 · 0 评论 -
CI框架Email类配置腾讯邮箱失败
发送邮件就请一直处于求超时状态。Fatal error: Maximum execution time of 300 seconds exceeded in D:\\WWW\\www.htmv2.com\\system\\libraries\\Email.php on line 1870 请问怎么回事呀?配置文件就这部分不一样 $config['protocol']="转载 2013-04-07 15:08:25 · 11912 阅读 · 0 评论 -
Nginx 502 Bad Gateway错误的解决办法
max_children=40 , 每个children平均占用20M-30M内存,children越多,可以同时接受的并发数量越多,一般children的值是网站最高并发数+浮动值,这值再×内存占用,就是你需要用到的内存。max_requests = N 是指当每个children接受了N次请求以后,就会把自己杀死,然后重新建立一个children。PV / max_children =转载 2012-12-20 14:25:08 · 8329 阅读 · 0 评论 -
关于php-fpm占用系统资源分析
测试人员向我们反映:在Facebook平台的游戏比其它平台的游戏明显更慢。我询问,是不是因为翻墙网络原因。他们说:不是,其它游戏也比较流畅。使用httpwatch查看了http请求,发现api.php请求花了6秒,且大部分时间是红色(httpwatch红色表示服务器运算时间)。平常2秒,现在6秒,服务器处理时间在不同的服务器相差这么多。直觉告诉:服务器资源。服务器概况操作系统:Cent原创 2012-12-20 14:55:15 · 1292 阅读 · 0 评论 -
php-fpm的两种进程管理模式
php-fpm的两种进程管理模式php-fpm的进程数也是可以根据设置分为动态和静态的。一种是直接开启指定数量的php-fpm进程,不再增加或者减少;另一种则是开始的时候开启一定数量的php-fpm进程,当请求量变大的时候,动态的增加php-fpm进程数到上限,当空闲的时候自动释放空闲的进程数到一个下限。这两种不同的执行方式,可以根据服务器的实际需求来进行调整。这里先说一下涉及转载 2012-12-20 14:50:03 · 1643 阅读 · 0 评论 -
PHP中的目录遍历细说教程
神奇的glob glob是php4.3.0后加入的十分强大的函数,可惜官方手册上的介绍并不详细。该函数定义如下: array glob ( string $pattern [, int $flags = 0 ] ) glob有两个参数 $pattern 与 可选的 $flag。$pattern 在字面是模板而不是单纯的指定目录的字符串, $flag 是一些转载 2012-11-13 14:00:58 · 438 阅读 · 0 评论 -
php用加号和用array_merge合并数组的区别
我们首先给出两个数组[php] view plaincopyprint? $r = array(1,2,3,4,5,6); $e = array(7,8,9,10); ?> 下面我们用array_merge和加号来何必这两数组[php] view plaincopyprint?print_r($r+e); // 输出Arr转载 2012-10-27 22:14:59 · 1092 阅读 · 0 评论 -
Linux 下 PHP 5.2.x 连接 SQL Server 数据库 FreeTDS 配置笔记
[server2008] host = 192.168.0.109 port = 1433 tds version = 7.0 client charset = utf8转载 2014-07-07 21:16:22 · 719 阅读 · 0 评论 -
pthread PHP多线程环境部署过程摘要
WINLINUX转载 2014-09-26 13:56:23 · 2434 阅读 · 0 评论 -
互斥量和信号量的区别【多线程概念】
1. 互斥量用于线程的互斥,信号量用于线程的同步。这是互斥量和信号量的根本区别,也就是互斥和同步之间的区别。互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必转载 2014-09-27 17:00:28 · 1027 阅读 · 0 评论 -
Zend Guard和ionCube两款PHP加密、解密工具对比
前市场上较流行的对PHP进行上述加密授权的软件主要有二种: (1)Zend公司的ZendGuard。 (2)ionCube公司的ionCube PHP Encode。 ZendGuard只能对带有PHP标记或源码的文件进行加密(如:.php,inc等),对于其他不带有PHP标记的文本方式保存的文件不能进行加密操作,支持期限,注册码。 ionCube PHP Enco转载 2017-01-22 10:38:18 · 6668 阅读 · 0 评论 -
ioncube加密与解密 php代码
ioncube_encoder用于php代码的加密 ioncube_loaders用户php代码的解密,经ioncube_encoder加密后的代码,不经 ioncube_loaders解密是运行不了的!ioncube_encoder分免费和收费的两种,以免费版本做测试,加密软件是收费的,解密软件是免费的!下载ioncube_encoder_evaluation.tar.gztar原创 2017-01-22 10:43:26 · 37951 阅读 · 2 评论 -
如何对PHP文件进行加密——ZendGuard加密与ZendLoader解密
Zend Guard是目前市面上最成熟的PHP源码加密产品。经过本人搜集资料,亲身测试后,总结了如何利用Zend Guard对PHP文件进行加密,以及如何利用Zend Loader对加密后的PHP文件进行解密。我使用的是Wampserver2.2,其中php的版本是5.3.10。(注意:这个里面自带的php版本属于TS版本,即Thread safety线程安全)转载 2017-01-22 10:35:25 · 4229 阅读 · 0 评论 -
PHP错误和异长常处理总结
通过日志记录功能,你可以将信息直接发送到其他日志服务器,或者发送到指定的电子邮箱(或者通过邮件网关发送),或者发送到操作系统日志等,从而可以有选择的记录和监视你的应用程序和网站的最重要的部分。错误报告功能允许你自定义错误反馈的级别和类型,可以是简单的提示信息或者使用自定义的函数进行处理并返回信息.为什么要使用错误处理?1.是网站出错时对用户友好2.更好的避免错误、调试、修复错误转载 2016-01-14 18:08:29 · 644 阅读 · 0 评论 -
PHP7 安装配置
http://www.hdj.me/php7-install-note?utm_source=tuicool转载 2015-12-07 15:54:09 · 1390 阅读 · 0 评论 -
关于PHP程序员解决问题的能力
这个话题老生长谈了,在面试中必然考核的能力中,我个人认为解决问题能力是排第一位的,比学习能力优先级更高。解决问题的能力既能看出程序员的思维能力,应变能力,探索能力等,又可以看出他的经验。如果解决问题能力不佳是无法通过面试的。这里举个例子,假如我执行了一个PHP的脚本,如php test.php,预期是可以返回一个字符串。但执行后没有任何信息输出,这时候通过什么方法能知道程序错在哪里?这里可以将解决问转载 2015-07-14 17:31:04 · 719 阅读 · 0 评论 -
PHP 日志系统的选型
SeasLoghttp://neeke.github.io/SeasLog/ 社区活跃一致在更新 最新版 2015-2-20PHP 日志 C 扩展 【如何配置和JAVA版log4j的格式,并且可以异步提交到日志中心】目前提供了什么在PHP项目中便捷、规范地记录log可配置的默认log目录与模块指定log目录与获取当前配置初步的分析预转载 2015-03-31 12:00:56 · 4216 阅读 · 0 评论 -
php配置php-fpm启动参数及配置详解
约定几个目录/usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/etc/php.ini一,php-fpm的启动参数复制代码 代码如下:#测试php-fpm配置/usr/local/php/sbin/php-fpm -t/usr/local/php/sbin/php-转载 2015-03-27 10:22:05 · 587 阅读 · 0 评论 -
php $_POST 与 php://input的区别分析
$_POST 与 php教程://input可以取到值,$HTTP_RAW_POST_DATA 为空$_POST 以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换php://input 也可以实现此这个功能可以获得POST的原始数据。代码echo file_get_contents( "php://input ");实例转载 2015-01-04 17:13:11 · 1062 阅读 · 0 评论 -
PHP5.3, PHP5.4, PHP5.5新特性
因为用到PHP新版本,一些新特性必须要了解,且有些可以在开发时就使用,如果不使用,那么何必升级PHP版本呢,显得有些得不偿失了!所以整理了一下 一些特性,有可能不全,待添加PHP 5.3中的新特性一.PHP 5.3中的新特性1. 支持命名空间 (Namespace)2. 支持延迟静态绑定(Late Static Binding)3. 支持goto语句4. 支持闭转载 2014-10-15 14:42:54 · 609 阅读 · 0 评论 -
Yaf 高性能 PHP框架
PECL扩展下载: http://windows.php.net/downloads/pecl/releases/转载 2014-11-12 11:54:08 · 1350 阅读 · 0 评论 -
PHP利用Gearman来处理并行多进程问题
最近工作中开发的一套系统,其中很多都是需要操作多服务器的,比如需要同时发布数据到2000个服务器上,或者同时向2000个服务器拉取数据。刚开始的解决方案就是单纯用PHP的curl_multi的方式并发处理请求,而且参考了淘宝技术博客的《Rolling cURL: PHP并发最佳实践》,但是由于网络和数据以及各个服务器等等的一些情况导致这种并发处理的响应时间很慢,因为在并发请求的过程中还包括记录转载 2014-09-30 11:23:03 · 2966 阅读 · 0 评论 -
PHP CLI模式
首先,进入PHP的CLI(Command line interface) modecyguin-> $ ./php --ini(显示配置文件信息)将显示:configuration file(php.ini) path: c:/WindowsLoaded configuration file: c:/wamp/bin/php/php5.3.0/php.iniscan f转载 2014-09-30 10:43:38 · 959 阅读 · 0 评论 -
从MySQL到MongoDB简易对照表
查询: MySQL: SELECT * FROM user Mongo: db.user.find() MySQL: SELECT * FROM user WHERE name = ’starlee’ Mongo: db.user.find({‘name’ : ’starlee’}) 插入: MySQL: INSERT INOT user (`n转载 2013-04-26 16:10:25 · 1115 阅读 · 0 评论 -
thinkphp模块分组后,cli模式无法使用的调整方法
今天使用thinkphp的cli模式,折腾了半天,总是出现错误,并且跳转到空模块下,或者出现Action中方法无法使用的错误。经查看源码,发现thinkphp的cli模式不支持模块分组,而且Action是重写的,比标准模式下的Action简化了很多。Cli模式下Action类中的方法使用不多,暂且不用管他,主要来调整一下,让cli模式支持模块分组:进入Thinkphp的核心目录,找到文件A转载 2014-09-30 17:26:37 · 2022 阅读 · 0 评论 -
Gearman介绍、调研、测试与原理分析
gearman是什么?它是分布式的程序调用框架,可完成跨语言的相互调用,适合在后台运行工作任务。最初是2005年perl版本,2008年发布C/C++版本。目前大部分源码都是(Gearmand服务job Server)C++,各个API实现有各种语言的版本。PHP的Client API与Worker API实现为C扩展,在PHP官方网站有此扩展的中英文文档。gearman架构中的三转载 2014-09-30 14:48:20 · 3060 阅读 · 2 评论