
PHP
文章平均质量分 73
饭fan有引力
低调低调~
展开
-
使用screw plus来保护php代码安全
转自:https://www.jianshu.com/p/f6425e2f8643https://github.com/del-xiong/screw-plushttp://git.oschina.net/splot/php-screw-plusscrew plus是一个开源的php扩展,作用是对php文件进行加密,网络上提供php加密的服务很多,但大多都只是混淆级别的加密,被人拿到加...转载 2018-08-24 14:36:11 · 1165 阅读 · 0 评论 -
为什么修改hosts不立即生效?--浏览器DNS缓存机制分析
经常做Web开发的工程师,都会遇到需要将某个域名绑定到特定IP上,进行测试的情况。大家一般都会用修改hosts文件的方式来解决,但是经常也会遇到修改hosts不生效的情况,而且有时生效,有时不生效的情况也有发生,这到底是为什么呢?起:DNS缓存机制关于DNS缓存的机制,有一篇非常详细的文章What really happens when you navigate to a转载 2015-06-23 16:32:03 · 7084 阅读 · 2 评论 -
mysql join操作
join的类型1. 内联结:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结。2. 外联结:分为外左联结和外右联结。 案例背景create table java (name varchar(255));insert into java values ('java1'),('java2'),('blue'); create table转载 2015-06-18 16:55:41 · 959 阅读 · 0 评论 -
Mac系统升级到10.9(mavericks)时安装php扩展问题解决
问题一:执行执行 phpize 报错:?1234567grep: /usr/include/php/main/php.h: No such file or directorygrep: /usr/include/php/Zend/zend_modules.h: No such转载 2015-05-26 23:50:55 · 1273 阅读 · 0 评论 -
PHP cURL 应用
对于做过数据采集的人来说,cURL一定不会陌生。虽然在PHP中有file_get_contents函数可以获取远程链接的数据,但是它的可控制性太差了,对于各种复杂情况的采集情景,file_get_contents显得有点无能为力。因此,本文将为你介绍采集神器cURL的使用。工具火狐浏览器(FireFox) + Firebug“工欲善其事,必先利其器。” 在分析案例之前,先让转载 2015-05-05 18:27:23 · 956 阅读 · 0 评论 -
高性能Web站点技巧原理
大型网站关键技术介绍1. pv值(page views),访问量大 带来问题a. 流量大 10000000*2m ->解决方案 买带宽 ,优化程序(处理图片)b. 并发量,同时访问网站的人多.,解决方案对程序的架构重新设计.->服务器集群 示意图:1. 数据量大->10亿记录解决方法是a. 表的设计合理 b. 分表技术(垂直分割,水平分割) c.转载 2015-01-22 16:35:09 · 1442 阅读 · 0 评论 -
【php】页面加载优化的14条原则
1. 尽可能的减少 HTTP 的请求数[content]2. 使用 CDN(Content Delivery Network)[server]3. 添加 Expires 头(或者 Cache-control )[server]4. Gzip 组件[server]转载 2015-01-22 10:32:38 · 1735 阅读 · 0 评论 -
Mac 下 Nginx、MySQL、PHP-FPM 的安装配置
用了3年多的本本罢工,最近新入手了一台 rmbp,一堆工作环境要配置,LNMP 里的 NMP 是常规要安装的,恰好也是第一次在 mac 上安装配置 nginx、mysql、php,所以顺便做个记录,免得以后忘了也好查看,不用到处翻。PS:下面的安装都是基于 homebrew,如果不熟悉或者还没安装有 homebrew 的话,可以查看这篇关于 homebrew 的介绍。安装ngi转载 2014-08-02 10:40:48 · 45506 阅读 · 0 评论 -
CI框架 QQ接口(第三方登录接口PHP版)
本帖内容较多,大部分都是源码,要修改的地方只有一个,其他只要复制过去,就可以完美运行。本帖主要针对CI框架,不用下载SDK,按我下面的步骤,建文件,复制代码就可以了。10分钟不要,接口就可完成。第一步:申请APP ID,APP KEY,申请地址:http://connect.opensns.qq.com/验证通过后:会得到APP ID,APP KEY。这是你用个文件把这些信息保持下来,免得转载 2014-07-28 11:57:32 · 10375 阅读 · 3 评论 -
CI框架 CodeIgniter 伪静态 htaccess设置和Nginx伪静态方法
众所周知,LAMP代表Linux下Apache、MySQL、PHP这种网站服务器架构;而LNMP指的是Linux下Nginx、MySQL、PHP这种网站服务器架构。LNMP一键安装包可以从网上下载使用。Nginx(发音同 engine x)由 Igor Sysoev 用C语言为俄罗斯访问量第二的搜索引擎 Rambler.ru 站点开发,是一款轻量级的Web 服务器/反向代理服务器及电子邮件转载 2014-07-22 09:42:31 · 2095 阅读 · 0 评论 -
Install APC (Alternative PHP Cache) in RHEL/CentOS 6/5 & Fedora 20-12
APC (Alternate PHP Cache) is an free and open source cache for PHP code. The main goal of this module is to provide robust framework for caching and optimizing PHP code.Install and E转载 2014-07-21 22:26:00 · 2393 阅读 · 0 评论 -
web集群时利用memcache来同步session
在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是登录状态。所以本文就根据这种情况给出三种不同的方法来解决这个问题:一,利用数据库同步session在做多服务器session同步时我没有用这种方法,如果非要用这种方法的话,我想过二种方转载 2014-07-17 20:59:02 · 1295 阅读 · 0 评论 -
PHP + Memcache 实现多服务器session共享
很多时候一个完整的系统可能运行在多个服务器上,如果这多个服务器之间需要共享session的话,那么php默认的files保存session的方式就无能为力了。这时我们可以考虑使用memcache 来接管session的保存与读取工作。 第一步:我们需要在服务器上搭建必要的环境,php 、web server的安装不是主题就不多说了,其他还需要的是 memcached 服务端、p转载 2014-07-17 17:13:25 · 1234 阅读 · 0 评论 -
CodeIgniter通过hook的方式实现简单的权限控制
根据自己的实际情况,需要两个文件,一个是权限控制类,Acl,另外一个是权限配置的文件acl.php放在了config这个目录下。Acl这个类放在了application/hook/acl.php。通过application/config/config.php文件开启hook,并且配置config这个目录下的hook.php文件。1、开启hook功能,config.php这个文件转载 2014-04-10 08:51:21 · 1324 阅读 · 0 评论 -
各种常用的JSON接口
这里为大家搜集了一些能够返回JSON格式的服务接口。部分需要用JSONP调用。其中一些接口提供用例参照:http://www.bejson.com/webInterface.php天气接口气象局接口:http://m.weather.com.cn/data/101010100.html 解析 用例音乐接口:虾米接口http://kuang.xiami.com/a转载 2014-01-25 09:25:23 · 10457 阅读 · 0 评论 -
JSONP
浏览器安全模型规定,XMLHttpRequest、框架(frame)等只能在一个域中通信。从安全角度考虑,这个规定很合理;但是,也确实给分布式(面向服务、混搭等等本周提到的概念)Web开发带来了麻烦。为了实现跨域通信,通常的解决方案有3种:本地代理:需要一些硬件设施(没有服务器的客户端无法运行),并且带宽和潜伏时间也要加倍(远程服务器-代理服务器-客户端)。Flash:转载 2014-01-10 09:37:07 · 836 阅读 · 0 评论 -
HTTP POST GET 本质区别详解
一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETEURL全称是资源描述符,我们可以这样认 为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POS转载 2013-11-27 00:49:25 · 918 阅读 · 0 评论 -
php执行shell,返回空
问题:以下shell脚本在 www 用户下执行 sudo /usr/local/webserver/nginx/sbin/nginx -t 是有返回结果的,但用http://localhost/nginx.php?act=test 访问是看不到返回值,shell指令都没执行,safe-mode 是off的,不知为何,请教高人了?nginx.php代码如下:if(isset($_原创 2013-09-17 11:25:36 · 12308 阅读 · 0 评论 -
PHP版单点登陆实现方案
摘要:本文主要介绍了利用webservice,session,cookie技术,来进行通用的单点登录系统的分析与设计。具体实现语言为PHP。单点 登录,英文名为Single Sign On,简称为 SSO,是目前企业,网络业务的用户综合处理的重要组成部分。而SSO的定义,是在多个应用系统中,用户只需要登陆一次就可以访问所有相互信任的应用系 统。动机:用过ucenter的全站转载 2013-08-01 12:58:51 · 2514 阅读 · 2 评论 -
memcache使用及安装
Memcached是什么?Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。Memcached由Danga Interactive开发,用于提升LiveJournal.com访问速度的。LJ每秒动态页面访问量几千次,用户700万。Memcached将数据库负载大幅度降低,更好的分配资源,更快速访问。如何使用memcached-转载 2013-01-16 11:01:41 · 985 阅读 · 0 评论 -
PHP序列化_serialize_格式详解
PHP序列化 serialize 格式详解1.前言PHP (从PHP 3.05 开始)为保存对象提供了一组序列化和反序列化的函数:serialize、unserialize。不过在PHP 手册中对这两个函数的说明仅限于如何使用,而对序列化结果的格式却没做任何说明。因此,这对在其他语言中实现PHP 方式的序列化来说,就比较麻烦了。虽然以前也搜集了一些其他语言实现的PHP 序列化的转载 2013-01-10 22:47:56 · 9766 阅读 · 0 评论 -
访问VM虚拟机中的网站
转自:http://www.pczgc.com/linux/201109/40926.html使用虚拟机安装Linux并配置服务器会发现通过主机就无法访问虚拟机中的服务器,这就失去了虚拟机的优势,真的不行吗?答案是否定的,我们的VM还是很强大的:1.首先,点菜单edit ,点virtual network settings ,选择vmnet8,点NET setting,在port转载 2013-01-01 17:16:17 · 1342 阅读 · 0 评论 -
mac:php连接mysql,出现错误: mac PHP Warning: mysql_connect(): [2002] No such file...
今天在mac上用php去连接mysql数据库,出现了mac PHP Warning: mysql_connect(): [2002] No such file...这样的错误,很容易就解决了这个问题: mkdir /var/mysqlln -s /tmp/mysql.sock /var/mysql/mysql.sock php会在/var/转载 2013-01-01 15:18:56 · 3323 阅读 · 1 评论 -
在Mac OS X中配置Apache + PHP + MySQL
Mac OS X 内置Apache 和 PHP,使用起来非常方便。本文以Mac OS X 10.6.3和 10.8.1为例。启动Apache有两种方法:打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”。注意,从Mac OS X从10.8开始取消了 “Web共享(Web Shar转载 2013-01-01 13:58:52 · 1421 阅读 · 0 评论 -
Sphinx对索引进行搜索
Sphinx对索引进行搜索主要分为以下几步:1、用户输入查询语句。2、对查询语句进行词法分析,语法分析,及语言处理。3、搜索索引,得到符合语法树的文档。4、根据得到的文档和查询语句的相关性,对结果进行排序。原创 2012-12-05 11:07:49 · 682 阅读 · 0 评论 -
Sphinx创建全文检索的索引
全文检索的索引创建过程一般有以下几步:1、一些需要创建索引的文档(Documents)。2、将原文档传给分词组件(Tokenizer)。3、将得到的词元(Token)传给语言处理组件(Linguistic Processor)。4、将得到的词(Term)传给索引组件(Indexer)。原创 2012-12-05 10:43:28 · 827 阅读 · 0 评论 -
修改phpmyadmin中的默认超时时间
登录后1440秒未活动后总是自动退出,一天还要登录多次,终于有时间来解决这个问题了,感觉是session超时,结果在网上search了下,找到解决办法啦,哈哈哈,在此做个笔记:phpmyadmin在使用过程中经常出现“登陆超时(1440秒未活动),请重新登录”,很烦解决方法如下:修改php.ini,找到session.gc_maxlifetime = 1440将数值改大转载 2012-10-04 12:46:05 · 1001 阅读 · 0 评论 -
手把手教你打印出PDF(fpdf的简单应用)
正值奥运时期,一觉醒来有种想用PHP打印PDF来记录各国金牌的想法,即使中国队那么不争气我也忍了。 今天使用的类叫FPDF,FPDF这个PHP Class允许你采用纯PHP(更确切地说就是不需要使用PDFlib)来生成PDF文件。它以PHP Class展现并且加速PDF文档在编程语言中的进程。它所具有的特点包括:可选择的单元大小,页面格式和页边距;页眉和页脚管理;自动分页;转载 2012-08-13 23:16:41 · 5247 阅读 · 0 评论 -
PHP对现有搜索引擎的调用
用于进行搜索的PHP代码如下所示。 <?php $key = $_GET['key']; //获得关键字 $select = $_GET['select']; //获得搜索引擎的选择 switch($select) //根原创 2012-07-26 22:14:55 · 1239 阅读 · 0 评论 -
php中获取系统信息的方法
$root = getenv('DOCUMENT_ROOT'); ////服务器文档根目录$port = getenv('SERVER_PORT'); ////服务器端口$file = getenv('SCRIPT_NAME'); ////当前执行文件$ua = getenv('HTTP_USER_AGENT'); ////用户UA$method = getenv('REQUEST转载 2012-07-24 11:00:38 · 1160 阅读 · 0 评论 -
PHPDocument 代码注释规范总结
PHPDocument 代码注释规范1. 安装phpDocumentor(不推荐命令行安装)在http://manual.phpdoc.org/下载最新版本的PhpDoc放在web服务器目录下使得通过浏览器可以访问到点击files按钮,选择要处理的php文件或文件夹还可以通过该指定该界面下的Files to ignore来忽略对某些文件的处理。然后点击output按钮来转载 2012-07-11 18:56:29 · 882 阅读 · 0 评论 -
怎样使用PhpDocumentor生成文档
命令行方式: 在phpDocumentor所在目录下,输入phpdoc –h 会得到一个详细的参数表,其中几个重要的参数如下:-f 要进行分析的文件名,多个文件用逗号隔开-d 要分析的目录,多个目录用逗号分割-t 生成的文档的存放路径-o 输出的文档格式,结构为输出格式:转换器名:模板目录。 例如:phpdoc -o HTML:frames:earthli -转载 2012-07-11 13:59:18 · 888 阅读 · 0 评论 -
PHP Document 代码注释规范
PHPDocumentor是一个用PHP写的工具,对于有规范注释的php程序,它能够快速生成具有相互参照,索引等功能的API文档。老的版本是 phpdoc。 1. 什么是phpDocumentor ? PHPDocumentor是一个用PHP写的工具,对于有规范注释的php程序,它能够快速生成具有相互参照,索引等功能的API文档。老的版本是 phpdoc,从1.3.0开始,转载 2012-07-11 13:50:04 · 995 阅读 · 0 评论 -
thinkphp3.0的display方法有所改动
thinkphp3.0的display方法有所改动,今天用3.0的display方法的时候是这样写的: class PublicAction extends CommonAction { public function login() { $this->display(); } } 我的静态文件的存放路径是:\Admin\Tpl\de转载 2012-07-07 09:13:22 · 2234 阅读 · 0 评论 -
ThinkPHP发生两次调用 附thinkphp3.0入口文件编译和调整说明
将ThinkPHP升级后发现,所有调用输出都运行的两次。如echo "hello ThinkPHP !";页面显示 “hello ThinkPHP !hello ThinkPHP ! ”两次输出原因ThinkPHP3.0以上的版本不在使用App::run()。从ThinkPHP2.0升级后没有删除App::run() 导致二次输出。将入口文件中的App::run()删除即可解决de转载 2012-07-06 19:43:52 · 4800 阅读 · 6 评论 -
[二次开发][Discuz!X] Discuz!二次开发基本知识
前言:为方便互联网数万Discuz!爱好者,更加深入了解Discuz!软件,本人在熟悉Discuz!过程中,顺便将个人经验写给大家。本贴内容由本人定期更新。本贴只介绍Discuz!中部分技术点,本贴紧属个人观点,不足之处,请各位多多指教,在下先此谢过!。“Discuz!”在下文中简称“DZ”。要弄DZ二次开发,必须至少具备如下技能:1) 能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的转载 2012-04-26 11:15:29 · 6185 阅读 · 0 评论 -
js和php互相传值
JS是前台的语言,PHP是后台的语言,初学时会经常出现前后台分不清的情况(我当初就是这样的,现在有时也在犯),我当初的想法是就把前后台当成两个岛,他们是无法跨越的,HTML就像一座桥,当你想要把一座岛上的变量传到另一个岛上,只有借助于这座桥。我来做个小小的总结吧:1:HTML中的值如何传到JS,下面假设是文件1.php转载 2012-04-21 02:10:58 · 22347 阅读 · 1 评论 -
Winxp下 gvim 编程环境搭建
1.官方网站下载最新的gvim7.1 win32,然后选择完全安装;我是安装在d:/vim目录下面,安装后的目录结构如下:D:/VIM├─vim71│ ├─autoload│ ├─colors│ ├─compiler│ ├─doc│ ├─ftplugin│ ├─indent│ ├─keymap│ ├─lang│ ├─macros│ ├─plugin转载 2012-04-06 22:52:46 · 850 阅读 · 0 评论 -
gvim+ctags in windows
安装gvim、 ctags、tlist:-----------------------------------------(1) 下载gvim72.exe并安装(2) 下载ctags57w32.zip (ctags) 解压后将ctags.exe放置到C:\windows\system32\"开始" --> "运行" --> "cmd"C:\Documents and转载 2012-04-06 01:13:19 · 6455 阅读 · 0 评论 -
vim学习笔记
安装vim包: sudo apt-get install vim普通用户到超级用户的切换: sudo su退出超级用户:ctrl+d 或者exitvim有三种常用模式:普通模式(默认)、编辑模式、命令行模式。普通模式到编辑模式:i 退回普通模式:esc按键(escape)普通模式到命令行模式用:(冒号) 退回普通模式:esc按键(escape):w转载 2012-04-06 00:38:16 · 9210 阅读 · 1 评论