Eclipse+PDT:PHP内置函数不能正常进行代码提示!

Eclipse+PDT:PHP内置(Core)函数不能正常进行代码提示(Code Assite)!

解决方法:

编辑.project 文件 ,删除<buildSpec>节点,重新关闭打开项目,然后测试下。

.project 文件大概类似如下内容:

	name
		org.eclipse.wst.validation.validationbuilder
		org.eclipse.dltk.core.scriptbuilder
		org.eclipse.php.core.PHPNature
		org.eclipse.wst.jsdt.core.jsNature

(131)

MySql升级及PHP连接库相关问题

PHP 5.3开始使用MySqlND作为默认的MySql访问驱动,而且从这个版本开始将不再支持使用旧的用户接口链接Mysql了,你可能会看到类似的提示:

#2000 - mysqlnd cannot connect to MySQL 4.1+ using old authentication

解决问题的方法不是调整PHP,而是检查你的Mysql,你需要确保两件事:

  • 你使用的Mysql是4.1+以上版本,4.1以前的版本只支持使用老的16位密码存储
  • 你准备用于连接的数据库帐号使用的MySql的新密码格式(41位的数据)

解决问题2的方法是重新设置账户的密码,并确保使用的标准Password()函数设置账户密码,相关指令如下:

-- 选择系统库
USE `mysql`
-- 显示当前的用户和密码,注意新的的密码格式应该是41位的加密字符,老的是16位的
SELECT `user`,`password` from `user`;

-- 更新指定的用户的密码,注意使用函数 password()
-- 有时针对一些特殊需要,你可以使用old_password()函数来建立一个或几个向下兼容的数据库账户
UPDATE `user` SET `password`=password('newpassword') WHERE `user`='UserName';

-- 刷新MySql权限库
FLUSH PRIVILEGES;

-- 最后别忘记了,MySql的命令行连接方式是:
MySql -u username@host -p password

(53)

使用Xdebug调试PHP程序

XDebug是个好东西啊,用来调试PHP程序的,可以和Eclipse配合。

配置步骤:(Windows+Apache+php环境)

1.下载和PHP版本环境相适应的XDebug版本,放置于PHP目录,主要None-ThreadSafe版似乎是用来在CLI方式下使用的,一般不需要

2.修改php.ini文件,参考如下

[Xdebug]
;zend_extension_ts	= "D:\server\php5\ext\php_xdebug-2.0.5-5.3-vc6.dll"
;发现在PHP5.3+Apache(CGI)方式下,似乎必须使用 zend_extension 加载才能成功
zend_extension		= "D:\server\php5\ext\php_xdebug-2.0.5-5.3-vc6-nts.dll"

xdebug.auto_trace		= off		;开启自动跟踪

xdebug.remote_autostart		= off		;开启远程调试自动启动
xdebug.remote_enable		= 1
xdebug.remote_host		= 10.5.184.251
xdebug.remote_port		= 9000
;xdebug.remote_handler		= “dbgp”

xdebug.show_exception_trace	= On		;开启异常跟踪

xdebug.collect_vars		= On		;收集变量
xdebug.collect_return		= On		;收集返回值
xdebug.collect_params		= On		;收集参数

注意:remote_host应该填写远程调试机的地址,而不是PHP服务器的地址,在Xdebug运行方式下,调试工具实际是调试过程的服务端,Xdebug会主动连接指定的remoete_host,从而建立调试通讯。所以要注意调试机的防火墙问题


3.配置调试工具,Eclipse就很好用,具体不说了,摸索下就可以了

继续阅读“使用Xdebug调试PHP程序”

(77)

UML关系定义的解析及思维导向图

对UML的关系定义一直有点感觉混乱,这是一天的学习总结,主要成果是下面的这张图,这张图没有按照一般的 Has a / Use a / Is a的3类法进行分类,而是把 Has a 作为了 Use a的一个子集来分析。因为没有看到任何其他参考资料使用了这种方式,所以这种方法未必完全准确,仅供参考。


UML关系解析思维导向图
UML关系解析思维导向图


继续阅读“UML关系定义的解析及思维导向图”

(64)

Windows平台下Apache+PHP4+PHP5+FastCGI安装笔记

修正:2010.3

1.PHP自5.3版起默认不在支持针对Windows的VC6编译版本,只提供VC9版本的,而APAche官方提供的Apache Windows编译包都是VC6的。所以我们需要使用第三方编译的VC9版本的Apache。

2.PHP 的 None Thread Safe 版本适用于CGI/FastCGI方式,而相应的Thread Safe版本适用于SAPI和Mod方式

3. http://www.apachelounge.com/download/ 这里提供了大量适用于Windows的LAMP有关预编译包,包括VC9版本的Apache和FastCGI,这个网站也是PHP官方推荐的网站。

原文

Go PHP5

很多开发组织已经开始参与到 Go PHP5 的活动中来了,PHP官方也早已经声明于2007年底停止对PHP4的所有技术支持,看来PHP5/6的广泛应用已经是不可抗拒的浪潮了,仅仅是时间问题,而且时间不会太长。

Apache+PHP+FastCGI

对于目前的过渡阶段,很多开发者还是需要一个可以实现PHP4和PHP5共存的开发环境,这两天尝试在Windows下使用APACHE环境配置了一个PHP4和PHP5共存的环境,请注意:此配置使用 CGI 运行方式,而没有使用常见的 Apache modules 方式。我曾经尝试使用 Apache modules方式配置双PHP,但没有成功。

关键特性:

  1. Windows+Apache+PHP(Apache2.0下测试)
  2. PHP4+PHP5共存
  3. FastCGI

以下是配置中用到的Apache Conf:

继续阅读“Windows平台下Apache+PHP4+PHP5+FastCGI安装笔记”

(81)

重新审视PHP框架 CodeIgniter VS Zend

这篇文章是一个翻译,英文原文在 PHP frameworks revisited – CodeIgniter vs Zend,我的英文水平很一般,可能会有翻译不确切的地方(把握不大地方使用斜体进行了标志,并附带了英文原文),请指正,并参看原文。 Emeric.Lee 2008.10.17

我们计划从头开始一个新项目,为此评估了一些PHP框架。我们的备选列表有CakePHP , CodeIgniter , Symfony和Zend 。 我们分别使用这4种框架编写了一个相同的小应用(一个简单的Wiki应用),希望我们能尽快选定一个最合适的。

声明:我会努力确保自己的客观性,虽然我是一个ColdeIginter的爱好者。我所工作的公司是Zend的合伙人(我们已经使用了Zend Platform 和 Zend Studio)。I can’t help factoring that in

继续阅读“重新审视PHP框架 CodeIgniter VS Zend”

(63)