Debian Wheezy安装php readline扩展,支持Boris

REPL(Read-Eval-Print Loop,交互式解释器/交互式编程环境)在程序开发中可以方便的用于调试、测试以及试验某种想法 一些常见语言,如Python、Ruby、Lua都原生的支持REPL。 PHP也内置了REPL功能,在命令行模式下执行: $ php -a Interactive shell php > echo “Hello REPL”; Hello REPL 不过PHP的交互模式功能比较薄弱,比如错误处理不好,遇到严重错误会退回控制台。执行命令时,不实时...

read more..

记事狗帖子同步发微博插件for Discuz x2.0帐号绑定失败补丁

最近安装了记事狗微博V3.0(Build 20110928),使用官方提供的插件“帖子同步发微博插件 for Discuz x2.0/x1.5/7.2”时,发现很多论坛用户和微博绑定失败,提示“绑定失败,错误的帐号或密码!”。测试发现,只有英文用户名(包括数字)可以成功绑定,中文的用户名都是提示错误的帐号或密码。 经过分析代码,确定是插件在API通讯前处理中文用户名的bug导致。估计作者是在GBK环境下开发的,忽略了测试UTF-8系统。这...

read more..

MySQL的主从配置步骤[2012更新版]

两台服务器 主库(Master)为: 10.0.4.158 从库(Slave)为:10.0.4.162 主从服务器的MySQL版本一致 主数据库配置 一、登录Master服务器 1、建立日志目录/opt/mysql/binlog/,设定777权限. 2、修改my.ini ,在[mysqld]添加如下内容: #数据库ID号, 为1时表示为Master,其中master_id必须为1到232–1之间的一个正整数值; server-id = 1 #需要同步的数据库名,如果同步多个库,需要另行重写...

read more..

Discuz! X2读写分离的配置及分析

在 Discuz! X版本 程序里面内置了读写分离的功能,方便了一些负载比较大的站点使用来降低一定的负载。 Discuz! X 2.0 默认未开启此功能,需要在配置文件中做相应的修改此功能才会开启生效。 在配置开启读写分离的之前需要在服务器上先配置好 mysql 的主从 具体可以考虑 http://www.webmaster.me/php-it/mysql-master-slave-set-up.html 下面介绍一下 X2 读写分离的配置: X2的读写分离只需要在 ./config/c...

read more..

PHP 5.3 命名空间规则深层应用

在第一部分中我们介绍了PHP命名空间的用途和namespace关键字,在这篇文章中我们将介绍一下use命令的使用以及PHP如何解析命名空间的名字的。 为了便于对比,我定义了两个几乎一样的代码块,只有命名空间的名字不同。 lib1.php lib2.php 开始之前先要理解几个PHP命名空间相关术语。 ◆完全限定名称(Fully-qualified name) 任何PHP代码都可以引用完全限定名...

read more..

PHP 5.3 中的命名空间

命名空间是PHP 5.3中最重要的变化,对于C#和Java开发人员对这个词语非常熟悉了,他们终于可以更好地改变PHP应用程序的结构了。 为什么我们需要命名空间? 随着你的PHP代码库的增长,对之前定义的函数和类名进行修改时风险也更高了,当你试图增加第三方组件或插件时问题更严重,如果存在两个或两个以上的代码集实现了一个“Database”和“User”类会怎么样? 直到目前,唯一的解决办法是使用长的类/函数名,例如Wo...

read more..

Zend Framework升级带来的麻烦

俺的Zend Framework很久没有升级了,一直用的1.5。看到官方已经update到1.9了,就趁着2.0没发布之前先升到最新版吧! 不过一更新,本来跑的好好的程序down掉了,提示找不到文件: Warning: require_once(Zend_Db_Adapter_Pdo_Mysql.php) [function.require-once]: failed to open stream: No such file or directory in E:\project\bbs\shenmu\plugins\101\www\index.php on line 7 Fatal error: req...

read more..

使用file_get_contents提交http post

以前使用curl获取需要登陆内容的文章,但其实,自5.0开始,使用file_get_contents就可以完成.(前提是开启了allow_url_fopen),下面以一个简单的例子说明一下: 1.先看一下目标网页(假设是http://localhost/response.php) response.php 本文讲述的只是http post请求的发送,所以,目标页只是回显所收到的post和cookie 2.请求页 request.php 这个文件首先使用stream_context_create()构造了一个http请...

read more..

PHP里面全局变量不能生效的问题

一直以为,全局变量(使用global声明)是在程序的所有地方都可以用的(不然怎么能叫全局?呵),但在最近的工作中,接连碰到几次全局变量无效的郁闷的事,记录一下出现的原因. 1.错误重现 问题出现在用我的简易框架时,在view中使用原来第三方定义好的函数时(此函数比较独立),下面模拟一下: t1.php PHP代码 func.php PHP代码 很简单的两个文件(第一次发现问题时,远比这复杂,在一层层排错后,得出最少化的问...

read more..

PHP面试题系列五【附答案】

[coolcode lang=”php”] PHP面试题系列五【附答案】 [ 2007-4-10 23:27:00 | By: jany ] 一、基础题 1. 写出如下程序的输出结果 $str1 = null; $str2 = false; echo $str1==$str2 ? ‘相等’ : ‘不相等’; $str3 = ”; $str4 = 0; echo $str3==$str4 ? ‘相等’ : ‘不相等’; $str5 = 0; $str6 = ‘0’; echo $str5===$str6 ? ‘...

read more..