Tags
-
Recent Posts
Recent Comments
Categories
Archives
Links
Tools
Meta
Author Archives: James Tang
Notepad++实用插件分享
不是迫不得已,一般不用重量级IDE, 像Eclipse/ZendStudio, 在Linux用vim, Windows下就非Notepad++莫属了。 Notepad++是一个优秀的开源编辑器,最大特性就是插件丰富,这里分享一下我常用的实用插件,其中一些是Npp预装的。这些插件主要是开发相关的,所以如果想需要其它插件,可以浏览一下http://sourceforge.net/projects/npp-plugins/files/。 Explorer Explorer是文件浏览插件,可以快速的定位当前正在编辑的文件的位置,支持在搜索目录下文件的内容(Find in files)。收藏夹功能可以保存经常使用的目录或文件。 Compare Compare, 文件对比插件,可以进行简单快速的对比,不过进行复杂点的对比,我一般用WinMerge。 DBGp DBGp客户端插件,一般与xDebug一起用来远程调试PHP程序。 TagsView TagsView,文档的Class, 属性, 方法列表。比另一个叫做FunctionList的插件更好用。 NppFtp NppFTP, FTP客户端,不用多说。 RegEx Helper RegEx Helper,在文档的中匹配正则表达式,可以用来测试正则表达式。 JSON Viewer JSON Viewer,显示文档中选定JSON的结构。 NppAutoIndent NppAutoIndent, 自动缩进。
PHP以CLI运行时require的有趣问题
假设当前工作目录是/home/james/, 子目录与文件的结构如下: bin/php/run.php的代码如下: require_once ‘pub.php’; echo pub_info() . “\n”; pub.php的代码如下: function pub_info() { return ‘Public function v 1′; } bin/php/pub.php的代码如下: function pub_info() { return ‘Public function v 2′; } 两个pub.php都定义了同一个函数,现在运行: php bin/php/run.php 输入是将是: Public function v 1,说明require_once加载的是最外面的pub.php。 如果将最外面的pub.php删除,再运行php bin/php/run.php,则会输出: Public … Continue reading
Posted in PHP
Leave a comment
chmod(): Operation not permitted
PHP项目中除了在Web服务器中运行的程序外,可能还会有直接运行的脚本,他们可能共享一些数据或代码,但当如果运行的用户不同(都不是root)时,在调用chmod()时就会出现chmod(): Operation not permitted这样的错误。 事实上这并不是PHP的问题,而是与系统有关, 我的系统是CentOS 5.6。在CentOS中, chmod, chown只能对属于执行该命令的用户的文件进行操作。对于Fedora, Redhat应该是一样的。
CentOS5.6上GD库支持freetype的问题
不知是我的系统问题还是CentOS本来就存在这个问题,通过yum install gd gd-devel 安装的GD库不支持freetype, 即使在编译PHP时添加–with-freetype-dir=/usr/lib也没有用。 最后只有将通过yum安装的gd清除(这一步很重要),重新编译gd: ./configure –prefix=/usr/local/gd\ –with-jpeg=/usr/lib\ –with-png=/usr/lib\ –with-xpm=/usr/lib\ –with-freetype=/usr/lib\ –with-fontconfig=/usr/lib\ 重新编译PHP: ./configure –enable-fpm\ –with-openssl\ –with-zlib\ –enable-calendar\ –with-curl\ –with-curlwrappers\ –enable-ftp\ –enable-mbstring\ –with-mysql=mysqlnd\ –with-mysqli=mysqlnd\ –with-pdo-mysql=mysqlnd\ –enable-pcntl\ –enable-sockets\ –enable-zip\ –enable-soap\ –with-fpm-user=www\ –with-fpm-group=www\ –with-mcrypt=/usr/lib64\ –prefix=/usr/local/php\ –with-jpeg-dir=/usr/lib\ –with-png-dir=/usr/lib\ –with-freetype-dir=/usr/lib\ –with-gd=/usr/local/gd2\ –with-gettext … Continue reading
在JavaScript中使用in操作符
今天在阅读jQuery源码的时候看到在if中使用in操作符,发现原来in不仅仅是用在for中,看来对JavaScript的了解实在太少了:) 对我来说最有用的功能是像PHP中的in_array一样使用,其用途可以类似于PHP中的isset(感谢@littlexiang纠正),如下面的代码所示: var arr = [1, 2, 3, 4, 5]; var obj = { “4″: true, “6″:false, “9″:true, “11″:true }; if ( 2 in arr) { alert(’2 in arr’); } else { alert(’2 NOT in arr’); } if ( 4 … Continue reading