文章标签 ‘PHP’

Google了一下,让VIM能够检查PHP的语法错误无外乎以下这段VIM配置:

"======================================================
"PHP语法检查
"======================================================
 
function! PhpCheckSyntax()
" Check php syntax
setlocal makeprg=\php\ -l\ -n\ -d\ html_errors=off\ %
 
" Set shellpipe
setlocal shellpipe=>
 
" Use error format for parsing PHP error output
setlocal errorformat=%m\ in\ %f\ on\ line\ %l
make %
endfunction
 
" Perform :P hpCheckSyntax()
map <F6> :call PhpCheckSyntax()<CR>
" imap <F6> <ESC>:call PhpCheckSyntax()<CR>

不过我希望能够在保存的时候自动检查,所以加了这一句:

autocmd BufWritePost *.php :call [...]

2009年11月5日20:55 | 没有评论
分类: 得力工具
标签: ,

说到对前端的优化,不得不提到Yahoo 的 Exceptional Performance Team,他们的努力,为我们提供了34条优化建议,并且提供了Firefox下面进行前端分析的扩展YSlow,根据 YSlow对网站的分析报告,逐条进行优化即可。下面只是总结一下我在优化我们网站时针对YSlow分析生成的报告中需要配置服务器端的部分:

1.Add Expires headers
在HTTP/1.1中,Expires headers出现在Caching in HTTP中,用户通过浏览器第一次访问我们的网站时,会请求很多静态文件(css,js,图片等),我们可以通过添加Expires headers来缓存这些文件,以Apache为例: 先注释掉httpd.conf里面的

LoadModule headers_module modules/mod_headers.so

在文件末尾添加上:

ExpiresActive On
ExpiresDefault "access plus 1 year"

这里我将文件的有效时间设置为1年。 关于Apache mod_headers的文档,查看这里
2.Compress components with gzip
用gzip压缩服务器端和浏览器端传输的数据,可以大大减少流量,按照YSlow中的说法:“Approximately 90% of today’s Internet traffic travels through browsers that claim to support gzip”,所以我们大可启用gzip压缩来减少流量。也是以Apache为例:
注释掉http.conf里面的

LoadModule deflate_module modules/mod_deflate.so

添加

DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE js css

到文件末尾,这里我们只对js和css进行压缩,不至于占用太多的CPU资源,jpg、png这些本身就是被压缩好的文件也没有必要进行二次压缩。 DeflateCompressionLevel表示的是压缩程度,越高的压缩程度就会有越好的压缩效果,同时也意味着占用越多的CPU资源。取值范围在 1~9之间,这里我们选择6,保证较好的压缩效果又不占用太多的CPU资源。
3.Configure entity tags (ETags)
关闭last-modified和Etags可以减少服务器的带宽和负载,简单点说,这两个参数会比较本地缓存的资源对应的服务器资源是否被修改过,如果修改过,则重新下载。想更深入地了解,可以看一下InfoQ的《使用ETags减少Web应用带宽和负载》。同样,以Apache为例,我们通过添加以下规则来关闭last-modified和Etags: # [...]

2009年10月21日20:50 | 没有评论
分类: 编程随想

最近一次升级Archlinux,PHP升级到了5.3,遇到了两个问题:
1.Arch里面PHP更换了打包的方式,PHP的Aapche模块被独立封装为php-apache模块,所以安装了php包之后还要安装 php-apache包(如果你用Apache作为你的Web server ^^ )。
2.另外就是Cakephp1.2跟PHP5.3的兼容性问题了。安装PHP5.3之后,运行Cakephp应用遇到了错误:
一个是提示strtotime()出错,最终修改php.ini的 date.timezone 解决,改为:
date.timezone = Asia/Chongqing
时区的列表可以到这里查看:http://us.php.net/manual/pt_BR/timezones.php
另外就是报类似以下的错误:
Deprecated: Assigning the return value of new by reference is deprecated…
这个有两种解决方法,一是将Cakephp升级到最新的Cakephp1.3dev版本,但是现在1.3版本并不是稳定版本,如果想继续使用1.2 版本的话,需要:
1.修改cake运行库下面cake/console/cake.php文件。
将141行的

141
142
143
144
145
function __initConstants() {
if (function_exists(’ini_set’)) {
ini_set(’display_errors’, ‘1′);
ini_set(’error_reporting’, E_ALL);

改为:

141
142
143
144
145
146
147
148
149
function __initConstants() {
if (function_exists(’ini_set’)) {
[...]

2009年9月30日20:45 | 没有评论
分类: 编程语言
标签: , ,

翻翻自己的电子书“储存库”的时候,发现了这一个PDF,拿出来分享一下,对于想用VIM写PHP的同学应该是很有帮助。
作者的地址:http://gravitonic.com/
文章地址:http://gravitonic.com/2007/02/vim-for-php-programmers-slides-and-resources
下载地址:Uushare Box.net

2009年5月5日17:25 | 没有评论
分类: LINUX生活

学PHP&MySQL必看的圣经,个人特别推崇,看看CSDN里面的介绍吧:
本书将PHP开发与MySQL应用相结合,分别对PHP和MySQL做了深入浅出的分析,不仅介绍PHP和MySQL的一般概念,而且对PHP和MySQL的Web应用做了较全面的阐述,并包括几个经典且实用的例子。

2007年12月7日23:33 | 没有评论
标签: , ,